在我的应用程序中,我有很多控件可以在更改可绘制状态时更改其文本颜色。 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>
有没有办法避免为每个颜色状态列表创建一个单独的文件,并将它们全部定义在一个文件中?
答案 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));