如何使用光标将EditMxt多线连接,并在顶部开始填充?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用光标将EditMxt多线连接,并在顶部开始填充?相关的知识,希望对你有一定的参考价值。
我正在使用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" />
答案
在您的edittext中添加此属性:android:gravity="top"
另一答案
在多行edittext中将gravity设置为top
android:gravity="top"
android:inputType="textMultiLine"
另一答案
android:gravity="top"
是正确的,但你有android:layout_height="wrap_content"
,这是问题。您的编辑文本高度接近文本大小+填充,光标位于编辑文本的顶部,但您无法看到它。如果您现在将高度设置为编辑文本,您将看到光标所在的位置。或者,如果你想要高度wrap_content
,你可以提供minHeight
param,然后编辑文本将用minHeight
充气,如果文本不适合它的高度将扩展。你不仅可以在gravity
字段中提供一个参数,只需在|
中附加params。例如:top|start
,top|end
等。
另一答案
使用如下的重力
android:gravity="top|left"
android:inputType="textMultiLine"
另一答案
你应该改变这样的代码(我把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" />
以上是关于如何使用光标将EditMxt多线连接,并在顶部开始填充?的主要内容,如果未能解决你的问题,请参考以下文章
将鼠标光标更改为等待光标,然后启动工作线程并在线程完成时改回