例如,假设我有一个在 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>
但没有所有重复的代码。另外,如果我想改变颜色,我可以在一个地方改变它。
这可能吗?