如何用光标从顶部开始的填充线多行EditText?

时间:2019-04-11 12:30:34

标签: android android-edittext cursor padding

我正在使用EditText发送消息。 EditText的填充为30sdp

问题是当我单击此EditText时,光标在EditText的中间闪烁,而我希望光标应在EditText的顶部闪烁。

这是我的代码。

<EditText
    android:id="@+id/edremarkspetrolbill"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tvpetrolbillremarks"
    android:layout_marginLeft="@dimen/_7sdp"
    android:layout_marginTop="@dimen/_10sdp"
    android:layout_marginRight="@dimen/_10sdp"
    android:background="@drawable/background_boxsearch"
    android:gravity="top"
    android:inputType="textMultiLine"
    android:padding="@dimen/_30sdp"
    android:textColor="@color/colorbluewh"
    android:textCursorDrawable="@color/colorbluewh" />

5 个答案:

答案 0 :(得分:0)

将此属性添加到您的编辑文本中:android:gravity="top"

答案 1 :(得分:0)

在多行编辑文本中将重力设置为顶部

android:gravity="top"
android:inputType="textMultiLine"

答案 2 :(得分:0)

像下面一样使用重力

android:gravity="top|left"
android:inputType="textMultiLine"

答案 3 :(得分:0)

android:gravity="top"是正确的,但是您有android:layout_height="wrap_content",这是有问题的。您的编辑文本高度接近于文本大小+填充,光标位于编辑文本的顶部,但是看不到它。如果您现在再为编辑文本设置高度,则现在将看到光标在哪里。或者,如果您希望高度wrap_content,则可以提供minHeight参数,然后编辑文本将以minHeight进行填充,如果文本不适合其高度,则会进行扩展。您还可以在gravity字段中不仅提供一个参数,还可以在参数|后面附加参数。例如:top|starttop|end

答案 4 :(得分:0)

您应该像这样更改代码(我将100dp设置为高度,但我建议您将EditText放在CostraintLayout中并使用match_constraint)

<EditText
        android:id="@+id/edremarkspetrolbill"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_below="@+id/tvpetrolbillremarks"
        android:layout_marginLeft="@dimen/_7sdp"
        android:layout_marginTop="@dimen/_10sdp"
        android:layout_marginRight="@dimen/_10sdp"
        android:paddingStart="30dp"
        android:paddingEnd="30dp"
        android:background="@drawable/background_boxsearch"
        android:gravity="top|left"
        android:inputType="textMultiLine"
        android:textColor="@color/colorbluewh"
        android:textCursorDrawable="@color/colorbluewh" />