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>
これらは両方とも、示されたスタイルに許可された値のセットを宣言しているようです。
だから私は2つの質問があります:
enum
値のセットの1つをとることができるスタイル属性と値のセットをとることができるスタイル属性の違いは何flag
ですか?declare-styleable
(Androidソースコードのリバースエンジニアリング以外の)動作に関するより良いドキュメントを知っている人はいますか?