4

次のように、列挙値を使用してスタイル可能な属性を宣言しました。

<declare-styleable name="TileLayout">
    <attr name="rotation" format="integer">
        <enum name="top" value="0"/>
        <enum name="left" value="1"/>
        <enum name="right" value="2"/>
        <enum name="bottom" value="3"/>
    </attr>
</declare-styleable>

switchここで、コード内、できればステートメント内でそれらを参照したいと思います。

列挙型にある値をコードにハードコーディングする以外に、これを行う方法を見つけることができません(そもそも列挙型の目的の半分を無効にします)。

誰もこれを行う方法を知っていますか?

編集

@CommonsWareの答えに従って、これを試しました:

リソース.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="rotation_top">0</integer>
</resources>

attrs.xml:

<resources>
    <declare-styleable name="TileLayout">
        <attr name="rotation" format="integer">
            <enum name="top" value="@integer/rotation_top"/>
            <enum name="left" value="1"/>
            <enum name="right" value="2"/>
            <enum name="bottom" value="3"/>
        </attr>
    </declare-styleable>
</resources>

これによりtop、 の値が受け入れられなくなりましたrotation

4

0 に答える 0