方向更改时,android edittext不显示自定义光标

时间:2015-05-18 20:53:15

标签: android android-edittext

我有一个标准的EditText,如下所示:

<EditText
    android:id="@+id/message_body"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine"
    android:gravity="top|start"
    android:background="@null"
    android:textCursorDrawable="@drawable/mycursor"
    android:minLines="3"/>

哪个好。它显示在屏幕上并且工作得很好,但是一旦我将方向从纵向更改为横向,editText就会更改为稍微不同的UI,右侧和所有的“完成”按钮。这仍然很好,但问题是它会显示默认光标而不是mycursor。

任何想法如何解决这个问题,以便无论方向是什么,mycursor都会显示出来?

1 个答案:

答案 0 :(得分:0)

带有完成按钮的版本是提取视图。它实际上不是由你的应用程序绘制的,它是由键盘本身绘制的。由于它被另一个应用程序绘制,UI中的任何特殊内容都不会被尊重,例如游标,因为键盘应用程序不了解它们。您可以设置imeOption flagNoExtractUi以尝试防止这种情况发生,但这可能会导致小型手机上的体验不佳,因为只有一小部分应用程序适合键盘上方的屏幕。