Android : 여러 줄의 EditText (텍스트 영역)에 대한 세로 정렬


232

텍스트 영역의 높이에 5 줄을 갖고 싶습니다. 다음 코드를 사용하고 있습니다.

<EditText
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:singleLine="false"
    android:lines="5"
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip" />

텍스트 영역은 문제가 없지만 텍스트 필드 중간에 커서가 깜박이는 것이 문제입니다. 텍스트 필드의 첫 문자에서 첫 번째 줄에서 깜박이기를 원합니다.


15
당신의 중력을 제거하려고 "중심", 문제가 될 수 있습니다
Sephy

답변:



99

이것은 CommonsWare 답변과 비슷하지만 약간의 조정이 android:gravity="top|start"있습니다. 완전한 코드 예제 :

<EditText
    android:id="@+id/EditText02"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:lines="5"
    android:gravity="top|start"
    android:inputType="textMultiLine"
    android:scrollHorizontally="false" 
/>

8
사용하지 마십시오 top|left당신이, 당신은 앱에서 모든 언어를 제어 할 수 있습니다 알고 거기 오른쪽에서 왼쪽으로 쓰는 언어의 많은이없는 한 ( en.wikipedia.org/wiki/Right-to-left )는 현지화 친화적 계속
MariusBudin

1
@MariusBudin 아마도 top|start올바른 대안일까요?
ban-geoengineering '10

19

U이 편집 텍스트를 사용할 수 있습니다 .... 이것은 당신을 도울 것입니다.

<EditText
android:id="@+id/EditText02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:lines="5"
android:gravity="top|left"
android:inputType="textMultiLine" />


6
<EditText android:id="@+id/EditText02" android:layout_width="120dp"
    android:layout_height="wrap_content" android:lines="5" android:layout_centerInParent="true"
    android:gravity="top|left" android:inputType="textMultiLine"
    android:scrollHorizontally="false" android:minWidth="10.0dip"
    android:maxWidth="180dip" />

작동합니다


3

이제 하루 중력을 사용하는 start것이 가장 좋습니다.

android:gravity="start"

EditText (텍스트 영역)의 경우 :

<EditText
    android:id="@+id/EditText02"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:lines="5"
    android:gravity="start"
    android:inputType="textMultiLine"
/>

이것이 왜 효과가 있는지에 대해 알려줄 수 있습니까? 나는 (서양 언어의 경우) start와 같이 일 했을 것으로 예상 했을 lefttop입니다.
ban-geoengineering '10

네, 맞아요. 우리는 주로 RTL 지원을 위해 이것을 사용합니다. 아랍어와 마찬가지로 왼쪽 대신 오른쪽으로 이동합니다. 그리고 그것은 top당신이 이미 요청한 것으로갑니다. 일반적으로 우리는 왼쪽 상단부터 쓰기 시작하므로 이것이 START동일한 특성을 나타냅니다. @ ban-geoengineering
Hasib Akter

2

응용 프로그램을 더 작은 장치로 이식하면 멋지게 작동하기 때문에 layout:weight = 5대신 사용할 수 있다고 생각합니다 android:lines = 5. 두 속성 모두 작업을 수행합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.