关于declare-styleable
标签的宝贵文档很少,我们可以通过它为组件声明自定义样式。我确实找到了标签属性的有效值列表。虽然这很好,但它并没有解释如何使用其中一些值。浏览attr.xml(标准属性的 Android 源代码),我发现您可以执行以下操作:format
attr
<!-- The most prominent text color. -->
<attr name="textColorPrimary" format="reference|color" />
该format
属性显然可以设置为值的组合。据推测,该format
属性有助于解析器解释实际的样式值。然后我在 attr.xml 中发现了这一点:
<!-- Default text typeface. -->
<attr name="typeface">
<enum name="normal" value="0" />
<enum name="sans" value="1" />
<enum name="serif" value="2" />
<enum name="monospace" value="3" />
</attr>
<!-- Default text typeface style. -->
<attr name="textStyle">
<flag name="normal" value="0" />
<flag name="bold" value="1" />
<flag name="italic" value="2" />
</attr>
这两个似乎都为指示的样式声明了一组允许的值。
所以我有两个问题:
enum
可以采用一组值中的一个的样式属性与可以采用一组值的样式属性之间有什么区别flag
?- 有谁知道关于如何
declare-styleable
工作的更好的文档(除了对 Android 源代码进行逆向工程)?