例如,假设我有一个用XML声明的颜色状态列表,名为 example1.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:color="@color/red"
android:state_pressed="true" />
<item
android:color="@color/blue"
android:state_checked="true" />
<item
android:color="@color/green"
android:state_disabled="true" />
<item
android:color="@color/orange" />
</selector>
然后,我想创建 example2.xml ,我希望它与 example1.xml 完全相同,除了我希望压缩的颜色是紫色而不是红色:
<item
android:color="@color/purple"
android:state_pressed="true" />
所以 example2.xml 最终会像这样:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:color="@color/purple" <-- note this value is different
android:state_pressed="true" />
<item
android:color="@color/blue"
android:state_checked="true" />
<item
android:color="@color/green"
android:state_disabled="true" />
<item
android:color="@color/orange" />
</selector>
但没有所有重复的代码。此外,如果我想更改颜色,我可以在一个地方更改它。
这可能吗?
答案 0 :(得分:0)
我不认为你可以在Android上这样做,你必须为不同的选择器创建多个xml资源。