2

我声明了一个包含枚举的 android 自定义视图

   <attr name="ff_type" format="enum">
            <enum name="small" value="1" />
            <enum name="big" value="32" />
            <enum name="medium" value="8288" />

        </attr>

如何允许在我的自定义视图的 xml 中做 app:ff_type="small|medium"

4

1 回答 1

1

使用flag而不是enum

<attr name="ff_type" format="flag">
    <flag name="small" value="1" />
    <flag name="big" value="32" />
    <flag name="medium" value="8288" />
</attr>

包含format="flag"是可选的。

8288是一个奇怪的选择,你最好坚持2. 就目前而言8288 = 32 * 259。因此,您不能在medium不暗示的情况下进行选择big

<attr name="ff_type">
    <flag name="small" value="1" />
    <flag name="medium" value="2" />
    <flag name="big" value="4" />
</attr>

然后,您可以选择添加其他值作为快捷方式:

<attr name="ff_type">
    <flag name="small" value="1" />
    <flag name="medium" value="2" />
    <flag name="big" value="4" />
    <flag name="smallerThanBig" value="3" />
</attr>

所以这里smallerThanBig是一样的small|medium(但你可以同时使用)。

于 2014-06-12T07:58:25.870 回答