0

たとえば、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 か所で変更できます。

これは可能ですか?

4

1 に答える 1

0

Android でこれを行うことはできないと思います。異なるセレクターに対して複数の xml リソースを作成する必要があります。

于 2012-12-08T01:39:51.560 に答える