Change the color of the cursor of an EditText in Android across all the sdk

安稳与你 提交于 2019-12-05 12:45:24

问题


Want to change the android's edittext cursor color, that has to be worked on across all the devices


回答1:


i had to use a drawable like this:

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>

in my edit text i set the cursor drawable attributes like this:

                            <EditText
                            android:id="@+id/et_details"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:cursorVisible="true"
                           android:textCursorDrawable="@drawable/mycursor"  
                            />



回答2:


The way to get it across all platforms is as such.

1 - Open your layout.xml in your layout folder. Find the edit text and set

android:cursorVisible="true"

this will set the cursor for devices lower that os version 11

2 - Create your cursor_drawable.xml in the drawable folder

<?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 - Create a folder layout-v11

4 - Copy your layout.xml into the layout-v11

5 - Find your edit text and set android:textCursorDrawable="@drawable/cursor_drawable"

This will make a cursor be shown on all devices and OS.




回答3:


Assign android:textCursorDrawable attribute to @null and set android:textColor as the cursor color.




回答4:


Create 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"
    />



回答5:


Refer to this link. You can try this to

android:textCursorDrawable


来源:https://stackoverflow.com/questions/11523494/change-the-color-of-the-cursor-of-an-edittext-in-android-across-all-the-sdk

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!