最近做一个需求,就是把点击一个商品,弹出一个dialog,然后点击保存,把这个dialog保存到相册,一开始了解这个需求,当时想的就是调用系统的截屏,但是考虑到截屏了那多出来的部分不是还得去手动裁剪,天呀,想想都觉得可怕,但是换个角度想想,把view转换成bitmap然后保存貌似也可行,百度知google有缓存view的操作,利用api: setDrawingCacheEnabled(true)和buildDrawingCache()创建缓存;再使用view.getDrawingCache()即可将当前的view转换成bitmap,剩下就是利用流去进行一定的写入即可,ok,贴代码:

Paste_Image.png

写入sd卡并通知图库刷新的操作:

//保存图片

public static void saveImageToGallery(Context mContext, Bitmap bitmap) {

//注意小米手机必须这样获得public绝对路径

File file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsoluteFile();

//保存图片的文件夹名

String fileName = "";

File appDir = new File(file, fileName);

if (!appDir.exists()) {

appDir.mkdirs();

}

fileName = System.currentTimeMillis() + ".jpg";

currentFile = new File(appDir, fileName);

FileOutputStream fos = null;

try {

fos = new FileOutputStream(currentFile);

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);

fos.flush();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

if (fos != null)

fos.close();

} catch (Exception e) {

e.printStackTrace();

}

}

// 最后通知图库更新

mContext.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,

Uri.fromFile(new File(currentFile.getPath()))));}

android 相册view,Android直接把当前View保存到相册相关推荐

  1. iOS上传头像, 相册权限,相册权限,拍照上传,相册选择图片,拍照页面语言设置,保存到相册...

    2019独角兽企业重金招聘Python工程师标准>>> 1. 权限 在打开相机拍照或者打开相册选择图片之前, 有必要先判断先是否有权限, 如果没有权限应该给个提示, 让用户自己去设置 ...

  2. android炫酷的自定义view,Android自定义View实现炫酷进度条

    本文实例为大家分享了Android实现炫酷进度条的具体代码,供大家参考,具体内容如下 下面我们来实现如下效果: 第一步:创建attrs文件夹,自定义属性: 第二步:自定义View: /** * Cre ...

  3. android 虚方法,尝试在空对象引用上调用虚方法’android.view.View android.view.View.getRootView()’...

    我收到这个错误, "Attempt to invoke virtual method 'android.view.View android.view.View.getRootView()' ...

  4. android底部滑出view,Android CoordinatorLayout与NestedScrollView基于Behavior几行代码实现底部View滑入滑出...

    Android CoordinatorLayout与NestedScrollView基于Behavior几行代码实现底部View滑入滑出 在CoordinatorLayout的Behavior出现之前 ...

  5. android 拖动的view,Android实现随意拖动View效果

    项目过程中要实现能在页面中随意的拖动,刚开始实现是用悬浮球的形式进行实现,因为之前项目中用过,实现后发现用户每次安装后,都有权限的限制,甚至有些用户关闭悬浮球权限之后,不知道怎么在手机上打开悬浮球的权 ...

  6. android 在xml文件中引用自定义View

    在xml中引用自定义view 方法一: [java] view plaincopy <com.test.copytext.CopyText android:layout_width=" ...

  7. Android 利用addView 动态给Activity添加View组件

    本文主要讲述如何动态给UI界面添加布局和控件,在编程的时候很多时候需要动态显示一些内容,在动态添加View的时候,主要使用addView方法. 1. addView方法简介 在Android 中,可以 ...

  8. android字符显示流程图,Android应用层View绘制流程与源码分析

    1  背景 还记得前面<Android应用setContentView与LayoutInflater加载解析机制源码分析>这篇文章吗?我们有分析到Activity中界面加载显示的基本流程原 ...

  9. android view强制重绘_android view 相关方法 layout draw 布局 重绘 | 学步园

    http://blog.csdn.net/az44yao/article/details/8208087 ViewGroup用onLayout实现view的自由移动 http://qq18715568 ...

最新文章

  1. vim编辑环境设定[Linux]
  2. AutoBench+Httperf的安装、测试
  3. access导入链接快还是导入表快_Go 语言设计哲学之十三:理解包导入路径的含义...
  4. 6.1团队第二阶段冲刺(七)
  5. JavaScript面向对象-静态方法-私有方法-公有方法-特权方法,学习
  6. [转]Xdebug----Failed loading
  7. 关于jquery跨域请求方法
  8. 如何快速搭建yum源和成功检测第三方软件
  9. 开发者测试android studio 试手
  10. Unity Mathf And Transform Compent(一)
  11. 知名应用背后的第三方开源项目
  12. python网络编程学习笔记(9):数据库客户端
  13. 全三轨磁条卡读写器|写卡器MSR606的驱动安装与Demo软件测试操作指南
  14. 如何经营好(开好)一家淘宝店铺
  15. GNSS-GNSS原理-GNSS星座介绍
  16. 小米平板完整bios_小米平板bios设置u盘启动操作步骤
  17. 天猫精灵智能家居对接,及天猫iot官网配置图文讲解(二)
  18. 单应性矩阵的理解及求解3
  19. VS 2022 中英文切换
  20. [原创插件] [服务端插件] [新手开发者必看]优秀插件开发教程列表 欢迎回复讨论

热门文章

  1. 20万、50万、100万的算法工程师,有什么区别?
  2. java 自旋_java自旋锁的代码实现
  3. VS code更改背景图片和颜色
  4. 第四章:软件总体设计(4)此章结完
  5. Laravel + EasyWeChat 微信登陆功能
  6. MATLAB-mesh/ezmesh函数三维图形绘制
  7. 研究生如何做好科研和发表文章
  8. 洛谷P1251 餐巾计划问题 无汇源最小费用流
  9. Go语言为什么值得学习?
  10. 【CRM】ReferenceError: XXX is not defined at eval(eval at RunHandlerInternal)