Android: вертикальное выравнивание для многострочного EditText (область текста) - PullRequest
228 голосов
/ 15 марта 2010

Я хочу иметь 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" />

Текстовая область выглядит нормально, но проблема в том, что курсор мигает в середине текстового поля. Я хочу, чтобы он мигал в первой строке, в первом символе текстового поля.

Ответы [ 7 ]

363 голосов
/ 15 марта 2010

Использование android:gravity="top"

93 голосов
/ 30 мая 2011

Это похоже на ответ CommonsWare, но с небольшим изменением: android:gravity="top|left". Полный пример кода:

<EditText
    android:id="@+id/EditText02"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:lines="5"
    android:gravity="top|left"
    android:inputType="textMultiLine"
    android:scrollHorizontally="false" 
/>
18 голосов
/ 11 сентября 2013

U можете использовать этот Edittext .... Это поможет вам.

<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" />
9 голосов
/ 17 апреля 2012

Используйте это:

android:gravity="top"

или

android:gravity="top|left"
6 голосов
/ 29 февраля 2012
<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" />

это будет работать

2 голосов
/ 28 мая 2018

Теперь дневное использование гравитации start лучший выбор:

android:gravity="start"

Для EditText (textarea):

<EditText
    android:id="@+id/EditText02"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:lines="5"
    android:gravity="start"
    android:inputType="textMultiLine"
/>
2 голосов
/ 22 мая 2012

Я думаю, что вы можете использовать layout:weight = 5 вместо android:lines = 5, потому что, когда вы переносите свое приложение на более маленькое устройство - оно делает это хорошо ... хорошо, оба атрибута выполнят вашу работу ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...