seba123neo
seba123neo

Reputation: 4748

Change Background Color of TextView on Click

I need to change the background color of a TextView.

the font color using ColorStateList what I can change, but the background color does not accept ColorStateList

lblEtiqueta.setTextColor (new ColorStateList (
new int [] [] {
new int [] {android.R.attr.state_pressed}
new int [] {android.R.attr.state_focused}
new int [0]
}, new int [] {
Color.rgb (255, 128, 192),
Color.rgb (100, 200, 192),
Color.White,
}
));

how to make the background color?

TextView control is created dynamically at runtime.

Thanks in advance.

Upvotes: 3

Views: 6627

Answers (1)

csaunders
csaunders

Reputation: 1742

You will need to set the backgroundDrawable for the TextView. I've only done my state lists in XML and it would be something like this:

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <color android:color="#00ff00" />
    </item>
    <!-- And so on -->
</selector>

From what I understand, from the documentation if you want to do the state list in Java code you will need to use the StateListDrawable

Upvotes: 2

Related Questions