运行工程,仔细观察可以看到光标和下划线都是粉红色的。现在就让我们循序渐进,先修改它的光标颜色。
=======================================================================
EditText 有一个属性:android:textCursorDrawable
,它就是用来设置光标样式的。为了加深认识,大家先额外做个小实验:将textCursorDrawable设置为@null,表示去除系统默认的样式,但我们都记得隐藏光标的属性是android:cursorVisible
, 那么这时光标会是什么样子的呢?你可以给文字(android:textColor)和提示文字(android:textColorHint属性)设置不同的颜色,运行之后就会发现此时光标的颜色是跟文字的保持一致的。
了解了android:textCursorDrawable
的作用之后,我们可以在drawable资源文件夹下新建一个cursor_color.xml文件,内容如下
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android=“http://schemas.android.com/apk/res/android”
android:shape=“rectangle”>
光标的颜色为系统自带的浅蓝色,宽度为2dp。在原生的EditText下面放置一个新的EditText:
<EditText
android:textCursorDrawable=“@drawable/cursor_color”
android:hint=“自定义光标颜色”
android:layout_width=“match_parent”
android:layout_height=“wrap_content” />
运行效果如下:
==============================================================