我有一个包含多个视图的活动,在进行一些操作后,我想将此活动的外观转换为图像并通过电子邮件发送。我可以发送图像,但是如何将该活动转换为图像呢?这是否可能?
您可以通过捕获绘图缓存
,将应用程序的不同视图呈现为位图
对象。
有关更多详细信息,请参见http://blog.neurolive.net/2010/11/385/。 (感谢出色的教程)
特别是
private Bitmap getScreenViewBitmap(View v) {
v.setDrawingCacheEnabled(true);
// this is the important code :)
// Without it the view will have a dimension of 0,0 and the bitmap will be null
v.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
v.buildDrawingCache(true);
Bitmap b = Bitmap.createBitmap(v.getDrawingCache());
v.setDrawingCacheEnabled(false); // clear drawing cache
}
看起来这是你感兴趣的内容。(只需找到你的顶级视图并使用此方法捕获位图)