想要更改必须在所有设备上处理的android的edittext光标颜色
答案 0 :(得分:17)
我必须使用这样的drawable:
mycursor.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<size android:width="1dp" />
<solid android:color="@android:color/holo_blue_light"/>
<!--make sure its a solid tag not stroke or it wont work -->
</shape>
在我的编辑文本中,我设置了光标可绘制属性,如下所示:
<EditText
android:id="@+id/et_details"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:cursorVisible="true"
android:textCursorDrawable="@drawable/mycursor"
/>
答案 1 :(得分:8)
在所有平台上实现它的方式就是这样。
1 - 在布局文件夹中打开layout.xml。 找到编辑文本并设置
android:cursorVisible="true"
这将设置低于os版本11的设备的光标
2 - 在drawable文件夹中创建cursor_drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<size android:width="1dp" />
<stroke android:color="@color/black"/>
</shape>
3 - 创建文件夹layout-v11
4 - 将layout.xml复制到layout-v11
中5 - 找到您的编辑文本并设置android:textCursorDrawable =“@ drawable / cursor_drawable”
这将使光标显示在所有设备和操作系统上。
答案 2 :(得分:7)
将android:textCursorDrawable
属性分配给@null
并将android:textColor
设置为光标颜色。
答案 3 :(得分:1)
创建drawalble xml:edtcolor_cursor
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<size android:width="1dp" />
<solid android:color="#FFFFFF" />
</shape>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:cursorVisible="true"
android:textCursorDrawable="@drawable/edtcolor_cursor"
/>
答案 4 :(得分:-1)
Refer到此链接。 你可以尝试这个
android:textCursorDrawable