Amira Elsayed Ismail
Amira Elsayed Ismail

Reputation: 9414

change statelistdrawable text color android button

I'm developing android application

I have a different background drawable and text color for each status of the button (pressed , normal)

I have created statelistdrawable object to be able to add the background drawable , but my problem now is how to set the text color

can any one help please ?

Upvotes: 6

Views: 3455

Answers (1)

ben75
ben75

Reputation: 28726

Button is a TextView and you can call button.setTextColor(someColorStateList) on a TextView.

Here is how to do it programmatically:

   ColorStateList colorStateList = new ColorStateList(
            new int[][]{
                    new int[]{R.attr.state_pressed},
                    new int[]{R.attr.state_selected},
                    new int[]{-R.attr.state_selected},
            },
            new int[]{
                    Color.GREEN,
                    Color.BLUE,
                    Color.RED});
    TextView textView = ... some textView or button
    textView.setTextColor(colorStateList);

You can of course do the same with xml configuration (define your colorStateList in xml and associate it with the button text color property android:textColor="@drawable/mycolorstatelist"

Upvotes: 11

Related Questions