关于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源代码进行反向工程之外)?