一、先上EditText的布局关键代码:
<EditText
android:textCursorDrawable="@drawable/shape_cursor_0080ff"
android:textColorHighlight="@color/colorff0080ff"
android:textSelectHandle="@drawable/shape_cursor_handler"
android:textSelectHandleLeft="@drawable/shape_cursor_handler"
android:textSelectHandleRight="@drawable/shape_cursor_handler"/>
二、光标和光标下方的图标,如下图:
其中文本后面的光标是通过 textCursorDrawable 设置的,光标下方的图标是通过 textSelectHandle 设置的。
三、文本选中时的高亮背景色和选中左右的拖动块,如下图:
其中 textColorHighLight 为高亮背景色,textSelectHandleLeft 为文本选中左边拖动块,textSelectHandleRight 为文本选中右边拖动块。
四、自定义的资源xml如下:
1、shape_cursor_0080ff.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#0080ff" />
<size android:width="1dp"/>
</shape>
2、高亮背景色为 :
<color name="colorff0080ff">#ff0080ff</color>
3、shape_cursor_handler.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#0080ff" />
<size android:width="20dp" android:height="30dp"/>
</shape>
本来有3个handle需要设置,这里偷懒就都设置为一样的资源。