代码里不能设置EditText光标颜色,没有相关的api。
除了了xml里android:textCursorDrawable="@drawable/bg_edittext"属性,还可以to通过设置themegai'改变光标颜色:
theme可以全局设置EditText的光标颜色:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
或者单独设置Edittext 的theme:
res - values -styles 创建自己的Style样式,
<!--colorControlNormal 为没有获取焦点时候下划线的颜色-->
<!--colorControlActivated 为获取焦点时候光标与下划线的颜色-->
<style name="MyEditText" parent="Theme.AppCompat.Light">
<item name="colorControlNormal">@color/colorPrimary</item>
<item name="colorControlActivated">@android:color/holo_orange_dark</item>
</style>
- res - values -styles 创建自己的Style样式,
<!--colorControlNormal 为没有获取焦点时候下划线的颜色-->
<!--colorControlActivated 为获取焦点时候光标与下划线的颜色-->
<style name="MyEditText" parent="Theme.AppCompat.Light">
<item name="colorControlNormal">@color/colorPrimary</item>
<item name="colorControlActivated">@android:color/holo_orange_dark</item>
</style>
- EditText中的使用方式,直接设置theme
<EditText
android:layout_width="match_parent"
android:layout_height="45dp"
android:hint="带下划线背景颜色"
android:theme="@style/MyEditText"
android:layout_marginLeft="10dp"
/>
如果设置了 android:textCursorDrawable=””属性,那么theme里的修改就会无效。