6

我正在开发安卓应用程序

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

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

有人可以帮忙吗?

4

1 回答 1

11

Button 是 TextView,您可以调用button.setTextColor(someColorStateList)TextView。

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

   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 配置执行相同的操作(在 xml 中定义您的 colorStateList并将其与按钮文本颜色属性相关联android:textColor="@drawable/mycolorstatelist"

于 2013-01-30T12:54:57.843 回答