3

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.

seba123neo
  • 4,688
  • 10
  • 35
  • 53

1 Answers1

2

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

csaunders
  • 1,712
  • 1
  • 15
  • 20
  • Arg. I didn't realize the rest of my answer got chopped up. I've added the changes necessary if you want to do it in java code. – csaunders Jan 08 '11 at 22:31