2013-03-26 143 views
0

在我的应用程序中,我有很多控件在更改可绘制状态时应该更改它们的文本颜色。 Android提供了一种方法 - 颜色状态列表。对于每种颜色状态列表我要创建一个单独的XML文件,像这样:我可以在单个XML文件中定义多个ColorStateLists吗?

<?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>

有什么办法,以避免创建于每种颜色状态列表一个单独的文件,并在一个文件中定义它们呢?

回答

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)); 
+0

是的,这个工程,但只有“简单”的颜色,而不是状态列表。如果你尝试像这样定义多个颜色状态列表,最终会出现AAPT错误。我问这个问题之前问这个问题:) – Grishka 2014-03-23 10:57:41

+0

你有没有找到一种方法呢? – Manish 2014-03-23 15:00:22

+0

不幸的是没有。 – Grishka 2014-03-23 19:42:17

相关问题