1

次のようなリソースでいくつかの値を宣言したいと思います。

<?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

ありがとう!

4

0 に答える 0