2015-05-04 76 views
4

在我的Android项目中,我有几个使用自定义属性的自定义组件。自定义属性错误 - Android Studio 1.2

的attrs.xml文件看起来是这样的:

<?xml version="1.0" encoding="utf-8"?> 
<resources > 
    <declare-styleable name = "TextBox"> 
     <attr name = "font" format = "string"/> 
    </declare-styleable> 

    <declare-styleable name = "ButtonBox"> 
     <attr name = "font" format = "string"/> 
    </declare-styleable> 
</resources> 

我拉在属性只是在自定义组件很好,但是当我去跑我看到下面的错误代码。

Error: Found item Attr/font more than one time
Error: Execution failed for task ':app:mergeDebugResources'.

它应该没有区别,两个不同的声明样式资源中有相似的属性名称是正确的吗?

如果您有任何帮助,将不胜感激,谢谢!

+0

类似http://stackoverflow.com/questions/4434327/same-named-属性在attrs xml为自定义视图 – Suragch

回答

3

如您所见,here,attr本身可以有多个属性,并且只能定义一次,并且可以在其中配置多个详细信息。 所以你应该给它不同的名称,或者因为它们具有相同的属性,所以两者只能使用一个declare-styable

退房this link也有一个很好的例子。

这是应该的:

<?xml version="1.0" encoding="utf-8"?> 
<resources > 
    <declare-styleable name="Box"> 
     <attr name="font" format="string"/> 
    </declare-styleable> 
</resources> 

您可以在文本,按钮等使用Box

+2

哦,是的,我想我可以让他们使用同一个,我没有想到有声明样式除了它是关联以外的任何名称。这些链接非常有帮助,谢谢。 – MikaylaRay44