Android要实现屏幕截屏,可以使用DrawingCache。View控件上的内容可以通过cache机制保存为bitmap,主要有以下方法:


voidsetDrawingCacheEnabled(boolean flag),

BitmapgetDrawingCache(boolean autoScale),

voidbuildDrawingCache(boolean autoScale),

voiddestroyDrawingCache()

首先要通过setDrawingCacheEnable方法开启cache,然后再通过getDrawingCache方法得到cache所保存的view对应的图片。buildDrawingCache方法可以不用调用,因为调用getDrawingCache方法时,若果cache没有建立,系统会自动调用buildDrawingCache方法生成cache。当调用setDrawingCacheEnabled方法设置为false,系统也会自动把原来的cache销毁。

如果使用DrawingCache,则对要截图的View有一个要求:View本身已经显示在界面上。如果View没有添加到界面上或者没有显示过,则buildDrawingCache会失败。这种方式比较适合对应用界面或者某一部分的截图。步骤很简单:


view.setDrawingCacheEnabled(true);

view.buildDrawingCache();

Bitmapbitmap=Bitmap.createBitmap(view.getDrawingCache());

view.setDrawingCacheEnabled(false);


如果需要对整个页面都截图,可以通过Activity的根视图来实现截屏,具体方法是调用getWindow().getDecorView(),然后通过对根View进行DrawingCache的相应操作来实现截屏。


更多相关文章

  1. android 判断EditText中输入的值是数字、字母还是汉字的方法
  2. android捕获全局异常处理,不闪退
  3. Android(安卓)popupWindow响应back按键并关闭
  4. android ListView GridView 单选和复选列子
  5. Android(安卓)实现遮罩
  6. Android中实现全屏显示的方法
  7. Android(安卓)判断Root的方法
  8. Android缓存理解
  9. android 多窗口模式activity的生命周期

随机推荐

  1. Android Binder 系统级使用demo
  2. Android性能优化案例研究
  3. Android 强制设置横屏或竖屏
  4. android4.0创建AVD后,打开虚拟机黑屏问题
  5. Android下Speex库除0错误(SIGFPE)排除
  6. and 使用以及添加一个自己的mime type在C
  7. 《H5 App开发》判断当前环境是Android还
  8. Android构建报错:Android resource linkin
  9. android linux 基础知识总结
  10. Android 获取设备信息