【发布时间】:2018-03-13 20:28:00
【问题描述】:
我正在为 android 开发自定义视图。为此,我想让用户能够像使用 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);
我想使用这个 sourceImage 创建一个位图,它是一个 Drawable 对象。
如果我的方法不对,请提供替代方法。
【问题讨论】:
-
Drawable有什么问题?你需要Bitmap做什么?如果你真的需要Bitmap然后使用BitmapFactory#decodeResource方法
标签: android bitmap android-canvas android-custom-view