在pc上的截图软件很多,但是android上的比较少,所以就自己写了一个,下面时截图软件的核心代码private Bitmap getViewBitmap(View v) { // 将一个View转化成一张图片

Java代码
  1. v.clearFocus();//清除视图焦点
  2. v.setPressed(false);//将视图设为不可点击
  3. booleanwillNotCache=v.willNotCacheDrawing();//返回视图是否可以保存他的画图缓存
  4. v.setWillNotCacheDrawing(false);
  5. //Resetthedrawingcachebackgroundcolortofullytransparent
  6. //forthedurationofthisoperation//将视图在此操作时置为透明
  7. intcolor=v.getDrawingCacheBackgroundColor();//获得绘制缓存位图的背景颜色
  8. v.setDrawingCacheBackgroundColor(0);//设置绘图背景颜色
  9. if(color!=0){//如果获得的背景不是黑色的则释放以前的绘图缓存
  10. v.destroyDrawingCache();//释放绘图资源所使用的缓存
  11. }
  12. v.buildDrawingCache();//重新创建绘图缓存,此时的背景色是黑色
  13. BitmapcacheBitmap=v.getDrawingCache();//将绘图缓存得到的,注意这里得到的只是一个图像的引用
  14. if(cacheBitmap==null){
  15. returnnull;
  16. }
  17. Bitmapbitmap=Bitmap.createBitmap(cacheBitmap);//将位图实例化
  18. //Restoretheview//恢复视图
  19. v.destroyDrawingCache();//释放位图内存
  20. v.setWillNotCacheDrawing(willNotCache);//返回以前缓存设置
  21. v.setDrawingCacheBackgroundColor(color);//返回以前的缓存颜色设置
  22. returnbitmap;
  23. }

更多相关文章

  1. android自定义视图属性(atts.xml,TypedArray)学习
  2. [置顶] 我的Android进阶之旅------>android异步加载图片显示,并且
  3. Android的用户界面
  4. android中文api(89)――ViewManager
  5. LinearLayout(线性布局)
  6. Android中文API(125) ―― VideoView
  7. 【Android开源项目分析】android轻量级开源缓存框架——ASimpleC
  8. Android图片下载缓存库picasso解析
  9. 2018/8/13

随机推荐

  1. go语言中的结构体与方法详解
  2. golang适合web开发吗?
  3. 详解 Go 中的不可变类型
  4. Golang 可以反编译吗?
  5. golang是否值得深入学习?
  6. GO语言中=和:=的区别介绍
  7. Go 语言中的 Context 详解
  8. golang是go语言吗?
  9. go语言中一些字符串操作介绍
  10. go语言通过命令方式生成可执行文件