【android】多个类定义attr属性重复的问题:Attribute "xxx" has already been defined

来源:互联网 发布:java实现高斯模糊 编辑:程序博客网 时间:2024/05/23 22:40

时候做自定义控件时就会遇到命名冲突,改变有冲突的名字自然是最直接有效的方式,但是感觉很傻。我搜了下别人的解决方案,觉得很值得借鉴。就是把重名的属性,独立出来写一下,然后在定义时直接写属性名字即可。

比如:下面两个declare-styleable中icon重名了,我们就需要将icon独立出来写。

复制代码
<? xml version = "1.0" encoding = "utf-8" ?>< resources >     < declare-styleable name= "PreferenceHeader" >        <!-- Identifier value for the header. -->        < attr name= "id" format = "integer"/>        < attr name= "icon" format = "integer" />        <!-- The fragment that is displayed when the user selects this item. -->    </declare-styleable >    < declare-styleable name= "Preference" >        < attr name= "icon" format = "integer" />        <!-- The key to store the Preference value. -->        < attr name= "key" format = "string" />    </declare-styleable ></ resources >
复制代码

icon独立定义,就可以被多次引用了。

复制代码
<? xml version = "1.0" encoding = "utf-8" ?>< resources >     < attr name = "icon" format = "integer" />     < declare-styleable name= "PreferenceHeader" >        <!-- Identifier value for the header. -->        < attr name= "id" format = "integer"/>        < attr name= "icon" />    </declare-styleable >    < declare-styleable name= "Preference" >        < attr name= "icon"  />        <!-- The key to store the Preference value. -->        < attr name= "key" format = "string" />    </declare-styleable ></ resources >
0 0
原创粉丝点击