我宣布了一个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"
?
答案 0 :(得分: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
相同(但你可以同时使用)。