change statelistdrawable text color android button

2019-06-25 05:44发布

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 ?

1条回答
2楼-- · 2019-06-25 06:02

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"

查看更多
登录 后发表回答