EditText 不显示光标
EditText not showing cursor
我试图通过添加
在 EditText 中显示光标
android:cursorVisible="true"
在xml。问题是为使用软键盘的全触摸设备编写的应用程序版本显示光标,但我也为具有物理键盘的设备开发了该应用程序,当我隐藏软键盘时,光标甚至不可见。
所以问题是如何让光标可见?
例如,这是我的 xml 自定义警报文件,即使在这里也没有显示光标。
<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
android:background="#ffffff"
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginBottom="2dp"
android:layout_marginEnd="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:text="Site:"
tools:ignore="HardcodedText" />
<EditText
android:cursorVisible="true"
android:layout_margin="10dp"
android:id="@+id/site"
android:layout_width="match_parent"
android:background="#2323"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/textView"
android:ems="10"
android:textSize="24sp"
android:textColor="#232323"
android:imeOptions="actionDone"
android:inputType="textUri"
tools:ignore="LabelFor" />
<TextView
android:id="@+id/textUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/textView"
android:layout_below="@+id/site"
android:layout_marginTop="5dp"
android:text="User:"
tools:ignore="HardcodedText" />
<EditText
android:cursorVisible="true"
android:id="@+id/editUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/textUser"
android:layout_margin="10dp"
android:background="#2323"
android:ems="10"
android:imeOptions="actionDone"
android:inputType="textNoSuggestions"
android:textColor="#232323"
android:textSize="24sp"
tools:ignore="LabelFor" />
<TextView
android:id="@+id/pswFtp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/textView"
android:layout_below="@+id/editUser"
android:layout_marginTop="5dp"
android:text="Password:"
tools:ignore="HardcodedText" />
<EditText
android:cursorVisible="true"
android:layout_margin="10dp"
android:id="@+id/editPswFtp"
android:layout_width="match_parent"
android:background="#2323"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/pswFtp"
android:ems="10"
android:textSize="24sp"
android:textColor="#232323"
android:imeOptions="actionDone"
android:inputType="textNoSuggestions"
tools:ignore="LabelFor" />
<Button
android:id="@+id/save"
android:layout_below="@+id/editPswFtp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#232323"
android:text="SALVA"
tools:ignore="HardcodedText" />
</RelativeLayout>
您可以只创建一个可见的自定义。
在 res/drawable
让你的 custom_cursor.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<size android:width="2dp"/>
<solid android:color="@color/colorPrimary"/>
</shape>
然后将其添加到您的 EditText
android:textCursorDrawable="@drawable/custom_cursor"
您可以select自己的光标颜色和大小。
使用
解决
editText.setShowSoftInputOnFocus(false);
而不是
editText.setInputType(InputType.TYPE_NULL);
我试图通过添加
在 EditText 中显示光标 android:cursorVisible="true"
在xml。问题是为使用软键盘的全触摸设备编写的应用程序版本显示光标,但我也为具有物理键盘的设备开发了该应用程序,当我隐藏软键盘时,光标甚至不可见。
所以问题是如何让光标可见?
例如,这是我的 xml 自定义警报文件,即使在这里也没有显示光标。
<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
android:background="#ffffff"
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginBottom="2dp"
android:layout_marginEnd="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:text="Site:"
tools:ignore="HardcodedText" />
<EditText
android:cursorVisible="true"
android:layout_margin="10dp"
android:id="@+id/site"
android:layout_width="match_parent"
android:background="#2323"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/textView"
android:ems="10"
android:textSize="24sp"
android:textColor="#232323"
android:imeOptions="actionDone"
android:inputType="textUri"
tools:ignore="LabelFor" />
<TextView
android:id="@+id/textUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/textView"
android:layout_below="@+id/site"
android:layout_marginTop="5dp"
android:text="User:"
tools:ignore="HardcodedText" />
<EditText
android:cursorVisible="true"
android:id="@+id/editUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/textUser"
android:layout_margin="10dp"
android:background="#2323"
android:ems="10"
android:imeOptions="actionDone"
android:inputType="textNoSuggestions"
android:textColor="#232323"
android:textSize="24sp"
tools:ignore="LabelFor" />
<TextView
android:id="@+id/pswFtp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/textView"
android:layout_below="@+id/editUser"
android:layout_marginTop="5dp"
android:text="Password:"
tools:ignore="HardcodedText" />
<EditText
android:cursorVisible="true"
android:layout_margin="10dp"
android:id="@+id/editPswFtp"
android:layout_width="match_parent"
android:background="#2323"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/pswFtp"
android:ems="10"
android:textSize="24sp"
android:textColor="#232323"
android:imeOptions="actionDone"
android:inputType="textNoSuggestions"
tools:ignore="LabelFor" />
<Button
android:id="@+id/save"
android:layout_below="@+id/editPswFtp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#232323"
android:text="SALVA"
tools:ignore="HardcodedText" />
</RelativeLayout>
您可以只创建一个可见的自定义。
在 res/drawable
让你的 custom_cursor.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<size android:width="2dp"/>
<solid android:color="@color/colorPrimary"/>
</shape>
然后将其添加到您的 EditText
android:textCursorDrawable="@drawable/custom_cursor"
您可以select自己的光标颜色和大小。
使用
解决editText.setShowSoftInputOnFocus(false);
而不是
editText.setInputType(InputType.TYPE_NULL);