次のように、列挙値を使用してスタイル可能な属性を宣言しました。
<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
。