Как сделать перечислимые значения с | в них
Я объявил пользовательское представление 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"
?
2 ответа
Решение
Использование 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
(но вы можете использовать оба).
<flag/>
может быть несколько, например,gravity="center|left",
но<enum/>
должен быть один, например layout_height="wrap_content"