如何使用光标将EditMxt多线连接,并在顶部开始填充?

问题描述 投票:-2回答:5

我正在使用EditText作为消息。填充EditText30sdp

问题是当我点击这个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" />
android android-edittext cursor padding
5个回答
0
投票

在您的edittext中添加此属性:android:gravity="top"


0
投票

在多行edittext中将gravity设置为top

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

0
投票

android:gravity="top"是正确的,但你有android:layout_height="wrap_content",这是问题。您的编辑文本高度接近文本大小+填充,光标位于编辑文本的顶部,但您无法看到它。如果您现在将高度设置为编辑文本,您将看到光标所在的位置。或者,如果你想要高度wrap_content,你可以提供minHeight param,然后编辑文本将用minHeight充气,如果文本不适合它的高度将扩展。你不仅可以在gravity字段中提供一个参数,只需在|中附加params。例如:top|starttop|end等。


0
投票

使用如下的重力

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

0
投票

你应该改变这样的代码(我把100dp作为高度,但我建议你把编辑文本放在ConstraintLayout中并使用匹配约束)

<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" />
© www.soinside.com 2019 - 2024. All rights reserved.