Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 482
seba123neo Avatar asked Jan 26 '26 09:01

seba123neo


1 Answers

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

like image 108
csaunders Avatar answered Jan 27 '26 23:01

csaunders