Damir
Damir

Reputation: 56249

How to change color of the text in TextView on hover like in css?

How to change color of the text in TextView on hover like in css with selector? I know for button to define selector with items

<item
    android:drawable="@drawable/down"
    android:state_pressed="true"
    android:state_enabled="true">
</item>
<item
    android:drawable="@drawable/up"
    android:state_focused="true"
    android:state_enabled="true">
</item>

but I need for TextView textColor, but item doesn't recognize that attribute. Is there way to do this from xml and not from code ?

Upvotes: 10

Views: 17015

Answers (1)

Guillaume
Guillaume

Reputation: 22822

Add that selector as a resource file (res/color/text_color.xml)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:color="@color/focused_text_color"/>
    <item android:state_pressed="true" android:state_enabled="false" android:color="@color/pressed_text_color" />
    <item android:state_enabled="false" android:color="@color/disabled_text_color" />
    <item android:color="@color/default_text_color"/>
</selector>

And use it:

android:textColor="@color/text_color"

Upvotes: 17

Related Questions