android - 光标在 KitKat 上的空自定义 EditText 中不可见

标签 android android-edittext android-custom-view android-4.4-kitkat

我创建了一个自定义 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 上设置一个 minWidth40dp 的值对我有用。现在光标将出现在 View 中,即使是空的。

关于android - 光标在 KitKat 上的空自定义 EditText 中不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37309900/

相关文章:

android - 手动扩充自定义 View 会为 ActionBar 自定义 View 生成不同的布局

java - 无法删除 fragment

android - EditText 不会在平板电脑上提取

Android:如何避免在调用键盘时推送布局

android - 如何在自定义 View 中添加 View ?

android - 如何在 Android 应用程序中使用 UI 工具包 (PSD)

java - 我应该如何编码我的java,以便提交按钮仅在android应用程序中选择复选按钮后才处于 Activity 状态

javascript - 在 .csv 文件中写入度数符号

android - 发现名称 : isImportantForAccessibility 的冲突 setter/getter

android - 在 Android 中以编程方式将 EditText 添加到 LinearLayout