自定义属性错误-Android Studio 1.2

Mik*_*y44 6 android custom-component attr android-studio

在我的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>
Run Code Online (Sandbox Code Playgroud)

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

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

在两个不同的可声明样式的资源中有相似的属性名称,对吗?

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

Geo*_*rge 5

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

也看看这个链接,有一个很好的例子。

应该是这样的:

<?xml version="1.0" encoding="utf-8"?>
<resources >
    <declare-styleable name="Box">
        <attr name="font" format="string"/>
    </declare-styleable>
</resources>
Run Code Online (Sandbox Code Playgroud)

您可以Box在文本、按钮等上使用。

  • 哦,是的,我想我可以让它们使用相同的名称,我没想过让声明样式成为除关联之外的任何名称。这些链接很有帮助,谢谢。 (2认同)