我正在为安卓开发自定义视图,为此我希望能够像使用ImageView
一样让用户选择图片。
在attr.xml中,我添加了以下代码:
<declare-styleable name="DiagonalCut">
<attr name="altitude" format="dimension"/>
<attr name="background_image" format="reference"/>
</declare-styleable>
在自定义视图中,我获取的值是一个Drawable
,它在xml中作为app:background_image="@drawable/image"
提供。
TypedArray typedArray = getContext().obtainStyledAttributes(arr, R.styleable.DiagonalCut);
altitude = typedArray.getDimensionPixelSize(R.styleable.DiagonalCut_altitude,10);
sourceImage = typedArray.getDrawable(R.styleable.DiagonalCut_background_image);
我希望能够使用这个Drawable对象sourceImage
创建一个Bitmap。
如果我的方法有误,请提供替代方案。
Drawable
出了什么问题?你为什么需要Bitmap
?如果你真的需要Bitmap
,那就使用BitmapFactory#decodeResource
方法。 - pskink