14

我想在所有设备上更改 android 的 edittext 光标颜色。我怎么做?

4

5 回答 5

19

我不得不使用这样的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"  
                            />
于 2014-09-09T20:58:42.540 回答
8

在所有平台上获取它的方法就是这样。

1 - 在您的布局文件夹中打开您的 layout.xml。找到编辑文本并设置

android:cursorVisible="true"

这将为低于 os 版本 11 的设备设置光标

2 - 在可绘制文件夹中创建 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 - 创建文件夹布局-v11

4 - 将您的 layout.xml 复制到 layout-v11

5 - 找到您的编辑文本并设置 android:textCursorDrawable="@drawable/cursor_drawable"

这将使光标显示在所有设备和操作系统上。

于 2012-10-15T09:40:22.307 回答
7

android:textCursorDrawable属性分配给@null并设置android:textColor为光标颜色。

于 2012-07-17T13:34:56.267 回答
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"
    />
于 2017-07-28T07:24:10.070 回答
-1

请参阅此链接。你可以试试这个

android:textCursorDrawable
于 2012-07-17T13:35:59.553 回答