我正在尝试更改按钮上的文字颜色。
我的选择器如下所示:
<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。当一个do 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) {}
答案 0 :(得分:1)
setTextColor
采用ARGB int值,而不是资源ID。
尝试setTextColor(resources.getColor(R.yourResource))