代码里设置EditText光标颜色

代码里不能设置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里的修改就会无效。

猜你喜欢

转载自blog.csdn.net/m0_38058826/article/details/82465308
今日推荐