产品需求是要将view转化成图片再分享出去,还没做过这种功能怎么办??第一时间去Google一把,然后啪啪啪完成。先上一波效果图压压惊先(忽略那个熊猫,测试图片来的)
image.png 保存在相册的效果为什么后面一片黑色???大家一堆黑人问号,其实那是模拟器的相册黑色背景,保存的就只有刚刚红色部分的图片,效果看完,上代码
/**
* @param linearLayout 要转化为图片的布局
*/
private void generatBitmap(LinearLayout linearLayout) {
linearLayout.setDrawingCacheEnabled(true);
linearLayout.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
linearLayout.layout(0, 0, linearLayout.getMeasuredWidth(), linearLayout.getMeasuredHeight());
linearLayout.buildDrawingCache();
bitmap = Bitmap.createBitmap(linearLayout.getDrawingCache());
linearLayout.setDrawingCacheEnabled(false);
linearLayout.setGravity(Gravity.CENTER); //因为刚刚重新测量布局一次,需要重新设置view居中
}
有老铁说保存图片但是在相册中没找到保存的图片,那是因为相册不知道你保存了图片,这个简单,下面一句代码搞定相册通知更新
MediaScannerConnection.scanFile(UIUtils.getContext(), new String[]{file.toString()}, null, null);
网友评论