1. 程式人生 > >程式碼裡設定EditText游標顏色

程式碼裡設定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裡的修改就會無效。