次のようなリソースでいくつかの値を宣言したいと思います。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="Shape">
<attr name="type" format="enum">
<enum name="rect" value="0"/>
<enum name="circle" value="1"/>
<enum name="square" value="2"/>
</attr>
</declare-styleable>
レイアウトで次のように使用します。
<view
class="org.frame_lang.saveandloadhierarchydemo.view.SelectShapeScreenView$Shape"
android:id="@+id/rectangleBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
framelang:shapeType="rect"
/>
そして、何らかの形でxml declを使用して、コード内の実際の列挙IDを参照できるようにします。次の方法で属性を参照できます。
R.styleable.Shape_shapeType
しかし、実際の値に対して次のようなことができないようです:
R.styleable.Shape_shapeType.rect
R.styleable.Shape_shapeType.circle
R.styleable.Shape_shapeType.triangle
ありがとう!