android实现截屏功能

该方法主要利用SDK提供的view.getDrawingCache()方法,主要步骤如下:

  • 设置view.setDrawingCacheEnabled(true)
  • 调用view.buildDrawingCache(true)
  • 生产bitmap:Bitmap b = Bitmap.createBitmap(v.getDrawingCache())
  • 最后再设置回去v.setDrawingCacheEnabled(false)

##如图:
页面主要由3部分构成:

1.textView,显示hello world
2.button,点击截图
1.imageView,用来显示截下的图片

android实现截屏功能_第1张图片

android实现截屏功能_第2张图片

上代码:

@Overrideprotected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        button = (Button) findViewById(R.id.button);        //activityMain是布局文件根LinearLayout,将其传入截屏方法中,将截取整个页面        activityMain =(LinearLayout)findViewById(R.id.activity_main);        imageView = (ImageView) findViewById(R.id.image_view);}//button按键处理,按下执行截图操作,并将截图显示在imageView中public void onClick(View view){       bitmap_view = takeScreenShotOfView(view);       imageView.setImageBitmap(bitmap_view);            }public Bitmap takeScreenShotOfView(View v) {        v.setDrawingCacheEnabled(true);        v.buildDrawingCache(true);                Bitmap b = Bitmap.createBitmap(v.getDrawingCache());        v.setDrawingCacheEnabled(false); // clear drawing cache        return b;    }

布局文件比较简单,这里就不贴布局文件的代码了,小小demo,没有太注重代码逻辑,如有问题,欢迎指正,谢谢!
如果各位有好的想法,欢迎关注我的公众号(程序员顺仔)或留言讨论~
android实现截屏功能_第3张图片

更多相关文章

  1. Android-Layout布局
  2. android移动开发的很好的功能的网页
  3. android布局属性详解-大杂烩
  4. layout布局属性、标签属性总结大全
  5. [Android] 利用Handler实现定时器功能
  6. android 程序截图功能
  7. Google公布Android 4.1完整功能

随机推荐

  1. 一次MySQL启动导致的事故实战记录
  2. MySQL中几种插入和批量语句实例详解
  3. MySQL 如何限制一张表的记录数
  4. MySQL into_Mysql中replace与replace int
  5. MYSQL 的10大经典优化案例场景实战
  6. MySQL 数据库定时备份的几种方式(全面)
  7. Mysql 字符集不一致导致连表异常的解决
  8. 五分钟带你搞懂MySQL索引下推
  9. 一篇文章读懂什么是MySQL索引下推(ICP)
  10. MySQL索引下推(ICP)的简单理解与示例