我可以在单个XML文件中定义多个ColorStateLists吗?

时间:2013-03-26 19:50:07

标签: android android-resources

在我的应用程序中,我有很多控件可以在更改可绘制状态时更改其文本颜色。 Android提供了一种方法 - 颜色状态列表。对于每个颜色状态列表,我必须创建一个单独的XML文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:color="#398ede" android:state_pressed="true"/>
    <item android:color="#808080"/>
</selector>

有没有办法避免为每个颜色状态列表创建一个单独的文件,并将它们全部定义在一个文件中?

1 个答案:

答案 0 :(得分:0)

你现在必须找到答案,但是为了那些再次来到这个链接的人,我们就是这样做的。

如果您有一个定义多种颜色的资源文件,请执行以下操作:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="xBlack">#FF000000</color>
<color name="xYellow">#FFFFFF00</color>
</resources>

您需要将此文件放在值(而不是颜色)下 要访问您需要使用的值:

dummy_button_id.setBackgroundColor(getResources().getColor(R.color.xBlack));