重新采用Android自定义枚举XML属性 [英] Re-using Android Custom enum xml attributes
本文介绍了重新采用Android自定义枚举XML属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在XML中定义的自定义属性,它是一种enum.It看起来是这样的:
<申报,设置样式名称=显示myControl>
< attr指示NAME =myProperty的>
<枚举名=无值=0/>
<枚举名=一值=1/>
<枚举名=二的价值=2/>
<枚举名=三公值=3/>
<枚举名=四值=4/>
<枚举名=五个一值=5/>
<枚举名=六值=6/>
<枚举名=七值=7/>
<枚举名=八值=8/>
<枚举名=九的价值=9/>
<枚举名=十大值=10/>
< / ATTR>
< /申报,设置样式>
假设现在我想另一个不相关的类使用相同的一组枚举值。有没有办法做到这一点,而不诉诸使枚举的列表的副本,在新中新的节点?举例来说,一些具有这样的语义:
<申报,设置样式名称=MyUnrelatedControl>
< attr指示NAME =myProperty的格式=[myEnum格式参考/>
< /宣称 - 风格化>
解决方案
只要定义您的控制之外的属性:
< attr指示NAME =myProperty的格式=枚举>
<枚举名=无值=0/>
<枚举名=一值=1/>
<枚举名=二的价值=2/>
<枚举名=三公值=3/>
<枚举名=四值=4/>
<枚举名=五个一值=5/>
<枚举名=六值=6/>
<枚举名=七值=7/>
<枚举名=八值=8/>
<枚举名=九的价值=9/>
<枚举名=十大值=10/>
< / ATTR>
然后,只需重复使用,对所有的控件:
<申报,设置样式名称=显示myControl>
< attr指示NAME =myProperty的/>
< /申报,设置样式>
<申报,设置样式名称=MyUnrelatedControl>
< attr指示NAME =myProperty的/>
< /申报,设置样式>
I'm defining a custom attribute in XML that is an enum.It looks something like this:
<declare-styleable name="MyControl">
<attr name="myProperty">
<enum name="None" value="0"/>
<enum name="One" value="1"/>
<enum name="Two" value="2"/>
<enum name="Three" value="3"/>
<enum name="Four" value="4"/>
<enum name="Five" value="5"/>
<enum name="Six" value="6"/>
<enum name="Seven" value="7"/>
<enum name="Eight" value="8"/>
<enum name="Nine" value="9"/>
<enum name="Ten" value="10"/>
</attr>
</declare-styleable>
Suppose now that I want another, unrelated class to use this same set of enum values. Is there a way to do this without resorting to making a copy of the list of enums in the new in the new node?. For instance, something with semantics of something like this:
<declare-styleable name="MyUnrelatedControl">
<attr name="myProperty" format="[myEnum Format Reference]"/>
</declare-stylable>
解决方案
Just define the attribute outside of your control:
<attr name="myProperty" format="enum">
<enum name="None" value="0"/>
<enum name="One" value="1"/>
<enum name="Two" value="2"/>
<enum name="Three" value="3"/>
<enum name="Four" value="4"/>
<enum name="Five" value="5"/>
<enum name="Six" value="6"/>
<enum name="Seven" value="7"/>
<enum name="Eight" value="8"/>
<enum name="Nine" value="9"/>
<enum name="Ten" value="10"/>
</attr>
Then just reuse that for all of your controls:
<declare-styleable name="MyControl">
<attr name="myProperty"/>
</declare-styleable>
<declare-styleable name="MyUnrelatedControl">
<attr name="myProperty"/>
</declare-styleable>
这篇关于重新采用Android自定义枚举XML属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文