自定义属性错误 - Android Studio 1.2

时间:2015-05-04 20:04:22

标签: android android-studio custom-component attr

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

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>

我在自定义组件中提取属性很好,但是当我去运行代码时,我看到以下错误。

  

错误:找到项目Attr / font多次
  错误:任务':app:mergeDebugResources'执行失败。

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

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

1 个答案:

答案 0 :(得分: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