42

プロジェクトでカスタム コンポーネントを使用したいのですが、以下のように enum 属性に追加したいのですが、どうすればよいですか?

<com.abb.abbcustomcompanents.buttons.AbbButton
        android:id="@+id/abbBtn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        app:Type="How can i use enum here"
        />

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="abbButton">
        <attr name="Type" format="enum"/>
        <attr name="onAction" format="string"/>
    </declare-styleable>
</resources>

ありがとうございました !

4

2 に答える 2

4

XML 内の順序は、少なくとも Eclipse にとって重要です。あなたのdeclare-styleableの上(または内部)であなたの列挙型を定義してください...下ではありません。

<attr name="quality">
    <enum name="Good" value="1" />
    <enum name="Better" value="2" />
    <enum name="Best" value="3" />
</attr>

<declare-styleable name="SquareView">
    <attr name="quality" />
</declare-styleable>

<declare-styleable name="CircleView">
    <attr name="quality" />
</declare-styleable>

私は非常に長い列挙型を持っていたので、読みやすくするために XML の最後に配置しました。正しく解析されますが、デザイン モードでは値が拒否されます。

于 2016-01-07T23:41:16.367 に答える