赞
踩
从事Android开发的道友一定碰到过这样的需求:把UI布局转换成图片保存到本地或者分享出去。在查阅了大量网上资料后发现,最常用的解决方案不外乎以下两种:
1、使用View自带的DrawingCache机制获取Bitmap(This method was deprecated in API level 28)
//开启DrawingCache
targetView.setDrawingCacheEnabled(true);
//构建开启DrawingCache
targetView.buildDrawingCache();
//获取Bitmap
Bitmap drawingCache = targetView.getDrawingCache();
//方法回调
getCacheResult.result(drawingCache);
//销毁DrawingCache
targetView.destroyDrawingCache();
2、使用PixelCopy提供的像素复制能力,完成从Surface到位图的复制操作(Added in API level 24)
//准备一个bitmap对象,用来接收copy出来的像素
final Bitmap bitmap = Bitmap.createBitmap(targetView.getWidth(), targetView.getHeight(), Bitmap.Config.ARGB_8888);
//获取layout的left-top顶点位置
final int[] location = new int[2];
targetView.getLocationInWindow(location);
//请求转换
PixelCo
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。