全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android 实现截屏功能的实例

Android 实现截屏功能的实例

实现代码:

public class ScreenShot {
  // 获取指定Activity的截屏,保存到png文件
  private static Bitmap takeScreenShot(Activity activity) {
    // View是你需要截图的View
    View view = activity.getWindow().getDecorView();
    view.setDrawingCacheEnabled(true);
    view.buildDrawingCache();
    Bitmap b1 = view.getDrawingCache();

    // 获取状态栏高度
    Rect frame = new Rect();
    activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
    int statusBarHeight = frame.top;
    Log.i("TAG", "" + statusBarHeight);

    // 获取屏幕长和高
    int width = activity.getWindowManager().getDefaultDisplay().getWidth();
    int height = activity.getWindowManager().getDefaultDisplay()
        .getHeight();
    // 去掉标题栏
    // Bitmap b = Bitmap.createBitmap(b1, 0, 25, 320, 455);
    Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height
        - statusBarHeight);
    view.destroyDrawingCache();
    return b;
  }

  // 保存到sdcard
  private static void savePic(Bitmap b, String strFileName) {
    FileOutputStream fos = null;
    try {
      fos = new FileOutputStream(strFileName);
      if (null != fos) {
        b.compress(Bitmap.CompressFormat.PNG, 90, fos);
        fos.flush();
        fos.close();
      }
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

  // 程序入口
  public static void shoot(Activity a) {
    ScreenShot.savePic(ScreenShot.takeScreenShot(a), "sdcard/xx.png");
  }
}

需要注意的是,shoot方法只能在view已经被加载后方可调用。

或者在 以下方法这里调用。

 @Override
  public void onWindowFocusChanged(boolean hasFocus) {
    // TODO Auto-generated method stub
    super.onWindowFocusChanged(hasFocus);
    ScreenShot.shoot(this);
  }

以上就是Android截屏的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # 截屏  # 截屏功能的实现  # Android代码截屏功能  # Android截屏方案实现原理解析  # Android截屏分享功能  # Android中关于屏幕的三个小众知识(宽屏适配、禁止截屏和保持屏幕常亮)  # Android 下调试手机截屏的方法  # android长截屏原理及实现代码  # Android实现截屏方式整理(总结)  # android视频截屏&手机录屏实现代码  # 浅谈Android截屏和指定View生成截图  # 的是  # 如有  # 希望能  # 谢谢大家  # 需要注意  # 长和  # 标题栏  # 状态栏  # 疑问请  # 加载  # 只能在  # true  # getWindowVisibleDisplayFrame  # getDrawingCache  # buildDrawingCache  # frame  # Rect  # getWindowManager  # width  # getDefaultDisplay 


相关文章: 建站主机系统SEO优化与智能配置核心关键词操作指南  山东云建站价格为何差异显著?  长沙企业网站制作哪家好,长沙水业集团官方网站?  javascript中的try catch异常捕获机制用法分析  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  如何选择高效稳定的ISP建站解决方案?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  韩国服务器如何优化跨境访问实现高效连接?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  免费网站制作appp,免费制作app哪个平台好?  如何快速生成橙子建站落地页链接?  内网网站制作软件,内网的网站如何发布到外网?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  ,sp开头的版面叫什么?  如何在Windows 2008云服务器安全搭建网站?  深圳网站制作的公司有哪些,dido官方网站?  h5网站制作工具有哪些,h5页面制作工具有哪些?  建站主机空间推荐 高性价比配置与快速部署方案解析  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  如何通过虚拟主机空间快速建站?  如何在搬瓦工VPS快速搭建网站?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  C++中引用和指针有什么区别?(代码说明)  如何生成腾讯云建站专用兑换码?  如何通过商城免费建站系统源码自定义网站主题?  建站之星如何助力企业快速打造五合一网站?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  如何制作一个表白网站视频,关于勇敢表白的小标题?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  如何基于PHP生成高效IDC网络公司建站源码?  表情包在线制作网站免费,表情包怎么弄?  如何选择靠谱的建站公司加盟品牌?  如何通过虚拟机搭建网站?详细步骤解析  如何快速查询域名建站关键信息?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  如何设置并定期更换建站之星安全管理员密码?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  安云自助建站系统如何快速提升SEO排名?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  如何通过VPS建站无需域名直接访问?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  深圳网站制作平台,深圳市做网站好的公司有哪些?  建站主机选购指南与交易推荐:核心配置解析  教学网站制作软件,学习*后期制作的网站有哪些?  C#怎么使用委托和事件 C# delegate与event编程方法 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。