【发布时间】:2015-03-27 13:30:09
【问题描述】:
我创建了一个带有属性的自定义视图,但我无法从我定义的属性中获取可绘制对象。
View 的构造函数如下所示:
public DrawingView(Context context, AttributeSet attset) {
super(context, attset);
foregroundDrawableId = attset.getAttributeResourceValue(R.attr.foreground_drawable_overlay, R.drawable.gear);
setupDrawing();
}
xml 看起来像这样:
<no.flammbaert.flammbaert.DrawingView
android:id="@+id/drawing"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_marginBottom="3dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="3dp"
android:layout_weight="1"
android:background="#FFFFFFFF"
app:foreground_drawable_overlay="@drawable/fargespill_bg_bjorn"/>
attrs.xml 如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="DrawingView">
<attr name="foreground_drawable_overlay" format="reference" />
</declare-styleable>
</resources>
但是当我运行它时,它总是从 getAttributeResourceValue 返回默认值。
如果有人能告诉我我做错了什么,我将不胜感激。
【问题讨论】:
标签: java android xml attributes