更改statelistdrawable文本颜色android按钮

时间:2013-01-30 12:47:10

标签: android button android-button android-selector

我正在开发Android应用程序

对于按钮的每个状态(按下,正常),我有不同的背景可绘制和文本颜色

我创建了statelistdrawable对象以便能够添加背景drawable,但我现在的问题是如何设置文本颜色

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:9)

Button是一个TextView,您可以在TextView上调用button.setTextColor(someColorStateList)

以下是如何以编程方式执行此操作:

   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);

您当然可以对xml配置执行相同操作(定义{{​​3}}并将其与按钮文本颜色属性android:textColor="@drawable/mycolorstatelist"

关联