android中如何更改EditText 的光标颜色?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android中如何更改EditText 的光标颜色?相关的知识,希望对你有一定的参考价值。

参考技术A EditText有一个属性:android:textCursorDrawable,这个属性是用来控制光标颜色的

android:textCursorDrawable="@null","@null"作用是让光标颜色和text color一样

在使用EditText的XML 文件中加入一个属性:

android:textCursorDrawable="@null"

android:textCursorDrawable 这个属性是用来控制光标颜色的,

"@null" 是作用是让光标颜色和text color一样

android:textCursorDrawable 的用法可以查看android sdk
参考技术B EditText有一个属性:android:textCursorDrawable,这个属性是用来控制光标颜色的


android:textCursorDrawable="@null","@null"作用是让光标颜色和text
color一样

 

1 在代码中进行设置更改默认提示的字体大小

     SpannableString hintStr = new SpannableString(getResources().getString(R.string.search_tittle));// 定义hint的值

     AbsoluteSizeSpan ass = new AbsoluteSizeSpan(14, true);// 设置字体大小 true表示单位是SP

     hintStr.setSpan(ass, 0, hintStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

     search_et.setHint(new SpannedString(hintStr));

 2 在布局文件中进行设置EditText更改光标的的宽度和颜色

     android:textCursorDrawable="@drawable/shape_et_cursor"

     shape资源是

     <?xml version="1.0" encoding="utf-8"?>

     <shape xmlns:android="http://schemas.android.com/apk/res/android"

         android:shape="rectangle">

         <size android:width="2dp" />

         <solid android:color="#FF5899"  />

     </shape>

3 EditText常用属性

android:textCursorDrawable="@null" 控制光标颜色 "@null"不设置颜色和editText的颜色一致 设置颜色要使用

     @drawable/shape 属性                  

    editText.setSelection(2) 使光标移动到制定的位置

    editText.requestFocus() 请求出现光标时获取焦点

    editText.clearFocus()      清除光标,失去焦点

    editText.setCursorVisible(false) 不出现光标

    android:imeOptions="actionSearch" 弹出键盘出现搜索按钮

    android:inputType="text" 输入字符串

参考技术C

1.EditText有一个属性:android:textCursorDrawable,这个属性是用来控制光标颜色的。

2.android:textCursorDrawable="@null","@null"作用是让光标颜色和text color一样。

3.在使用EditText的XML 文件中加入一个属性:

android:textCursorDrawable="@null"

android:textCursorDrawable这个属性是用来控制光标颜色的。

"@null"   是作用是让光标颜色和text color一样。

4.android:textCursorDrawable 的用法可以查看android sdk。

参考技术D 发现为application设置android:theme="@style/AppTheme",那么光标颜色会和字体一样
自定义过theme就会变成白色了,这时候如果背景也是白色,那光标几乎看不到了,但确实是存在的
修改自定的style文件,为自己的style文件里加上一句parent="android:Theme.Light"就好了
光标颜色会和字体一个颜色
就这样解决,摆脱android:textCursorDrawable属性,用api 2.2测试的

以上是关于android中如何更改EditText 的光标颜色?的主要内容,如果未能解决你的问题,请参考以下文章

Android将光标从一个EditText移动到另一个EditText?

Android edittext - settextmethod 光标问题

Android edittext - settextmethod 光标问题

android如何将EditText光标设置为其文本的末尾[复制]

Android EditText中字符大小与光标位置

如何使用光标将EditMxt多线连接,并在顶部开始填充?