我正在尝试更改按钮上的文本颜色。
我的选择器如下所示:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#000000" />
<item android:state_pressed="false" android:color="#ffffff" />
如果我在我的活动 xml 中设置 android:textColor="@drawable/buttontext" 它将完美地工作。但是如果我在我的代码中做这样的事情 button.setTextColor(R.drawable.buttontext) 它就不起作用。这不是因为按钮没有初始化,因为我已经设置了它的 onClickListener ,它工作得很好。而当做 button.setTextColor(Color.white) 时,它也可以工作。
我究竟做错了什么?
编辑:
我想出了怎么做,关键字是 ColorstateList。在代码中我这样做了:
XmlResourceParser parser = getResources().getXml(R.drawable.buttontext);
ColorStateList colors;
try {
colors = ColorStateList.createFromXml(getResources(), parser);
buttonList.setTextColor(colors);
} catch (XmlPullParserException e) {}