我正在尝试使用我ImageView
定义的自定义属性将图像放入我的 ,我正在这样做:
属性:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<declare-styleable name="MyAttr">
<attr name="my_image" format="reference"/>
</declare-styleable>
</resources>
ImageView 属性:
app:my_image="@drawable/image"
比我的View
:
int imageSrc;
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.MyAttr, 0, 0);
try {
imageSrc = ta.getResourceId(R.styleable.MyAttr_my_image, -1);
} finally {
ta.recycle();
}
并将图像设置为ImageView
:
imageView.setImageResource(imageSrc);
但什么也没有出现,我也尝试过:
imageSrcDrawable = ta.getDrawable(R.styleable.MyAttr_my_image);
和:
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN) {
imageView.setBackgroundDrawable(imageSrcDrawable);
} else {
imageView.setBackground(imageSrcDrawable);
}
更新:
我已经尝试过解析属性ta.getInt(..)
并且它的工作正常!
我不明白为什么,提前谢谢!