参考了:http://www.jb51.net/article/60013.htm 作者:junjie
向开源,分享致敬。
在日常的自定义view中,经常会用到declare-styleable属性,先看看如下代码
<span style="font-family:Arial Black;"><?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="ExTextView">
<attr name="enableOnPad" format="boolean" />
<attr name="supportDeviceType" format="reference"/>
</declare-styleable></span>
<span style="font-family:Arial Black;">
<declare-styleable name="ExEditText">
<attr name="enableOnPad" format="boolean" />
<attr name="supportDeviceType" format="reference"/>
</declare-styleable>
</resources></span>
这是一段可以使用的代码,在ExEditText中与ExTextView中有着重复的属性申明,虽然可以正常工作,但是代码简洁度不够,而且重复的事情不是很好,考虑优化。
实际上我们可以在declare-stylable之前,申明要多次使用的属性,在declare-stylable节点内部,只需调用即可.具体代码如下.
<span style="font-family:Arial Black;"><?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="enableOnPad" format="boolean" />
<attr name="supportDeviceType" format="reference"/>
<declare-styleable name="ExTextView">
<attr name="enableOnPad"/>
<attr name="supportDeviceType"/>
</declare-styleable>
<declare-styleable name="ExEditText">
<attr name="enableOnPad"/>
<attr name="supportDeviceType"/>
</declare-styleable>
</resources></span>