उस 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 स्रोत कोड के अलावा) के लिए किसी भी बेहतर प्रलेखन का पता है ?