我正在编写一些自定义视图,它们共享一些同名属性。在它们各自的<declare-styleable>
部分中的attrs.xml
文件中,我想要使用相同的属性名称:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MyView1">
<attr name="myattr1" format="string" />
<attr name="myattr2" format="dimension" />
...
</declare-styleable>
<declare-styleable name="MyView2">
<attr name="myattr1" format="string" />
<attr name="myattr2" format="dimension" />
...
</declare-styleable>
</resources>
我得到了一个错误,提示说myattr1
和myattr2
已经被定义。我发现在MyView2
中应该省略myattr1
和myattr2
的format
属性,但是如果我这样做,我会在控制台上获得以下错误:
[2010-12-13 23:53:11 - MyProject] ERROR: In <declare-styleable> MyView2, unable to find attribute
有没有一种方法可以实现这个,或者说可能采用某种命名空间的方式(只是猜测)?
MyView1
中的myattr1
是字符串而MyView2
中是整数时会发生什么? - foxx1337ERROR: In <declare-styleable> com_app_view_widget, unable to find attribute customAttr
有任何想法吗? - M Dapp<attr name="myattr1" format="string|integer" />
。这对我有效。 - Mygod