赞
踩
在开发的过程中有时会碰到这样的需求,把一个界面截屏或者把某一个View转化为图片分享出去,类似一些阅读类软件,分享文字时,会弹出一个popwindow,然后把一些文字信息,用户信息等显示在一个view上,然后分享,如下图:
实现过程:1.弹出popwindow
2.显示要分享的View
3.把View转化为图片并保存本地
4.分享出去
主要说一下吧View转化为图片:
1.View转Bitmap:
- private Bitmap viewToBitmap(View v) {
- int width = v.getWidth();
- int height = v.getHeight();
- Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
- Canvas canvas = new Canvas(bitmap);
- canvas.drawColor(Color.WHITE);
- v.draw(canvas);
- return bitmap;
- }
2.把图片保存到本地:
- public String saveImg(View view) {
- Bitmap cachebmp = viewToBitmap(view);
- try {
- String dir=
- Environment.getExternalStorageDirectory().getAbsolutePath()+"/share.png";
- File f = new File(dir);
- if (!f.exists()) {
- f.getParentFile().mkdirs();
- f.createNewFile();
- }
- FileOutputStream out = new FileOutputStream(f);
- cachebmp.compress(Bitmap.CompressFormat.PNG, 90, out);
- out.flush();
- out.close();
- view.destroyDrawingCache();
- return f.getAbsolutePath();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
3.调用系统的分享就可以了。
查看完整项目可点击下载:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。