【发布时间】:2012-06-21 05:44:36
【问题描述】:
我已经编写了一个将任何布局 Liner、Relative、Frame 等转换为位图的方法,但我想让这个方法通用,以便它接受 android.view.ViewGroup 作为参数而不是特定的 Relative 或 LinearLayout。
下面是我的方法:
public Bitmap getBitmapFromView(RelativeLayout v) {
v.setLayoutParams(new LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
v.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
Bitmap b = Bitmap.createBitmap(v.getMeasuredWidth(), v.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.draw(c);
return b;
}
【问题讨论】:
-
改变 v.setLayoutParams(new LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT));进入 v.setLayoutParams(新 ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT));会为你工作。
标签: android generics android-layout bitmap converter