Search code examples
androidandroid-edittexttext-cursor

Change the color of the cursor of an EditText in Android 3.0


I have to have an EditText in my application with a white background. I did this in my theme.xml file

<style name="myEditText" parent="@android:style/Widget.EditText">
  <item name="android:background">#ffffffff</item>
  <item name="android:textColor">#ff000000</item>
</style>

The problem now is that the cursor is still white and therefore not visible. I did some googling and found this question here on StackOverflow: Set EditText cursor color

The way it's done there is the android:textCursorDrawable key. But this key does seem to be only available with a 3.2 target. But our clients wants a 3.0 target and I could not find any other solution...

Is there any way i can change the color of the blinking cursor with 3.0 as the target?

Thanks for helping :)


Solution

  • I found the answer :)

    I've set the Theme's editText style to:

    <item name="android:editTextStyle">@style/myEditText</item>
    

    Then I've used the following drawable to set the cursor:

    <style name="myEditText" parent="@android:style/Widget.Holo.Light.EditText"> 
    <item name="android:background">@android:drawable/editbox_background_normal</item> 
    <item name="android:textCursorDrawable">@android:drawable/my_cursor_drawable</item> 
    <item name="android:height">40sp</item> </style>
    

    android:textCursorDrawable is the key here.

    And also refer this one Vertical line using XML drawable