たとえば、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>
ただし、重複するコードはすべてありません。また、色を変更したい場合は、1 か所で変更できます。
これは可能ですか?