将文本颜色应用于代码中的按钮 - android

时间:2013-11-05 21:53:05

标签: java android button

我正在尝试更改按钮上的文字颜色。

我的选择器如下所示:

<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) {}

1 个答案:

答案 0 :(得分:1)

setTextColor采用ARGB int值,而不是资源ID。

尝试setTextColor(resources.getColor(R.yourResource))