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

比如:下面两个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 >

 

参考自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0929/1718.html

 

相关文章:

  • 2022-12-23
  • 2021-06-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-21
  • 2021-06-28
  • 2021-08-28
猜你喜欢
  • 2022-12-23
  • 2021-08-30
  • 2021-04-04
  • 2021-09-11
  • 2021-05-19
相关资源
相似解决方案