android редактировать текст как начать печатать в левом верхнем углу?
у меня есть это EditText
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:lines="5"
android:singleLine="false"
android:text="@string/app_name" />
</LinearLayout>
моя проблема в том, что ввод начинается с середины EditText.
мой вопрос в том, как начать печатать в левом верхнем углу EditText?
3 ответов
попробовать android:gravity="top"
таким образом, ваш код будет:
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:inputType="textMultiLine"
android:lines="5"
android:singleLine="false"
android:text="@string/app_name" />
Я думаю, что это должно работать.
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:lines="5"
android:singleLine="false"
android:gravity="top|left"
android:text="@string/app_name" />
top|left
будет работать, но для справа налево языков android:gravity="top|start"
лучше.
фрагмент описания предупреждения в IDE:
использование гравитации#влево и гравитации#вправо может привести к проблемам, когда макет отображается в местах, где текст течет справа налево. Использовать Гравитация#начало и гравитация#конец вместо этого. Аналогично, в XML gravity и атрибуты layout_gravity, используйте start, а не left.