我创建了一个自定义 EditText
类,它扩展了 android.widget.EditText
。在 KitKat 和以前的操作系统版本上运行应用程序时,如果自定义 EditText
为空,则不会出现光标。一旦输入文本,它就会出现。
我已经尝试了在此站点上发布的多种解决方案,包括将 android:textCursorDrawable="@null"
和 android:textIsSelectable="true"
添加到 XML 以及以编程方式添加这些属性。这些解决方案均无效。
自定义 EditText
确实有我正在设置的背景,但它必须存在。设计限制意味着我必须设置非默认背景。
那么问题来了,当自定义EditText
为空时,如何让光标出现?
这是自定义 View 的 XML:
<?xml version="1.0" encoding="utf-8"?>
<com.example.CustomEditText
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:background="@drawable/custom_edit_text_background"
android:gravity="start"
android:imeOptions="actionDone"
android:inputType="textCapSentences|textMultiLine"
android:maxLines="5"
android:padding="@dimen/custom_padding"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textColor="@color/custom_color"/>
最佳答案
我找到的解决方案是在自定义 EditText
上设置一个 minWidth
。 40dp
的值对我有用。现在光标将出现在 View 中,即使是空的。
关于android - 光标在 KitKat 上的空自定义 EditText 中不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37309900/