Android:多行EditText(文本区域)的垂直对齐

时间:2010-03-15 10:57:18

标签: android android-edittext vertical-alignment multiline

我希望文本区域的高度有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 个答案:

答案 0 :(得分:361)

使用android:gravity="top"

答案 1 :(得分:93)

这类似于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" 
/>

答案 2 :(得分:18)

你可以使用这个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" />

答案 3 :(得分:9)

使用此:

android:gravity="top"

android:gravity="top|left"

答案 4 :(得分: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" />

它会起作用

答案 5 :(得分:2)

我认为您可以使用layout:weight = 5而不是android:lines = 5,因为当您将应用移植到较小的设备时 - 它很好地完成了......好吧,这两个属性都可以完成您的工作......

答案 6 :(得分:2)

现在每天使用重力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"
/>