我正在开发android应用程序

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

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

有人可以帮忙吗?

最佳答案

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

关于android - 更改statelistdrawable文本颜色的android按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14604385/

10-09 10:17