我写了一个方法来将任何布局 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;
}
最佳答案
这两个 Layout 都继承自 ViewGroup
,因此您可以使用 ViewGroup
作为方法参数,所有这些语句都可以正常工作。
此外,您应该使用 ViewGroup.LayoutParams
而不是 RelativeLayout.LayoutParams
以使其通用。
关于android - 如何使此方法通用?将 RelativeLayout 转换为位图图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11096680/