我正在开发Android应用程序
对于按钮的每个状态(按下,正常),我有不同的背景可绘制和文本颜色
我创建了statelistdrawable对象以便能够添加背景drawable,但我现在的问题是如何设置文本颜色
任何人都可以帮忙吗?
答案 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"