我正在尝试从自定义样式中为drawable指定reference / resource-id。
如果drawable是一个图像文件(即.png),一切正常,但是如果drawable是一个xml布局文件(即选择器),那么我得到编译时错误:
找不到与给定名称匹配的资源(at 'net.monocross.app:button_drawable_id'有价值 '@ layout / XmlSelector').. \ Resources \ values \ styles.xml
我正在尝试确定这是Android规则,还是Monodroid问题,以及是否还有其他方法可以达到此目的?
感谢。
styles.xml
<style name ="DropdownButtonA">
<item name="android:layout_width">@dimen/button_width</item>
<item name="android:layout_height">@dimen/button_height</item>
<item name="net.monocross.app:button_label_text">hi</item>
<item name="net.monocross.app:button_label_color">#99ABCDEF</item>
<!-- OK -->
<item name="net.monocross.app:button_drawable_id">@drawable/PngImage</item>
<!-- ERROR -->
<item name="net.monocross.app:button_drawable_id">@drawable/XmlSelector</item>
</style>
attrs.xml
<declare-styleable name="DropdownButton">
<attr name="button_label_text" format="string"></attr>
<attr name="button_label_color" format="color"></attr>
<attr name="button_drawable_id" format="reference"></attr>
</declare-styleable>
答案 0 :(得分:1)
我需要重命名xml-drawable文件
XmlSelector.axml - &gt; xml_selector.xml
如果这对您不起作用,请尝试保留.axml扩展名。