11

我有这个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 的左上角开始输入?

4

3 回答 3

24

尝试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" />
于 2013-04-06T13:05:15.260 回答
4

我认为它应该工作。

<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" />
于 2013-04-06T13:08:33.037 回答
0

top|left会起作用,但对于从右到左的语言环境android:gravity="top|start"更好。

IDE 中的警告描述片段:

在文本从右向左流动的区域中呈现布局时,使用 Gravity#LEFT 和 Gravity#RIGHT 可能会导致问题。请改用 Gravity#START 和 Gravity#END。同样,在 XML 重力和 layout_gravity 属性中,使用 start 而不是 left。

于 2016-04-27T18:29:23.337 回答