在我的 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>
我在自定义组件中很好地提取了属性,但是当我运行代码时,我看到以下错误。
错误:多次找到项目属性/字体
错误:任务“:app:mergeDebugResources”执行失败。
在两个不同的可声明样式资源中存在相似的属性名称应该没有什么区别,对吗?
如果您有任何帮助,将不胜感激,谢谢!
如你看到的here https://stackoverflow.com/questions/6020379/declaring-styleable-attributes-in-android, attr 本身可以有多个属性,并且只能定义一次,并且您可以在其中配置多个详细信息。
因此,您应该给它不同的名称,或者,由于它们具有相同的属性,因此仅使用一个declare-styable
对彼此而言。
查看这个链接 https://groups.google.com/forum/#!topic/android-developers/uqr2BNI7NZo还有一个很好的例子。
应该是这样的:
<?xml version="1.0" encoding="utf-8"?>
<resources >
<declare-styleable name="Box">
<attr name="font" format="string"/>
</declare-styleable>
</resources>
您可以使用Box
在文本、按钮等上
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)