У меня есть этот 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?
Попробуйте 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:
Использование Gravity # LEFT и Gravity # RIGHT может привести к проблемам при отображении макета в местах, где текст перемещается справа налево. Вместо этого используйте Gravity # START и Gravity # END. Аналогично, в атрибутах XML gravity и layout_gravity используйте start, а не left.