博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 屏幕截图
阅读量:6971 次
发布时间:2019-06-27

本文共 1699 字,大约阅读时间需要 5 分钟。

转自:

我们大家都在用电脑的时候,用过截屏的功能,有的时候截屏给我们带来了很多的方便,那么我们现在怎么样才能在android中实现这个功能那,下面我们就用代码来实现这个对我们很方便的功能。

java代码:

import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Rect; import android.view.View; 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; System.out.println(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"); } }
Kao,那个链接ctrl + s直接保存不了,没办法,转了,转了再保存!!!shit!!!

转载于:https://www.cnblogs.com/sesexxoo/archive/2013/01/17/6189971.html

你可能感兴趣的文章
[Chromium]怎样安全的使用PostTask
查看>>
PKU 2774 Long Long Message (后缀数组练习模板题)
查看>>
加班与效率
查看>>
JVM异常之:直接内存溢出
查看>>
Mysql分表和分区的区别、分库分表介绍与区别
查看>>
湾区求职分享:三个月刷题拿到 Google offer,欢迎踊跃提问
查看>>
python 合并字典,相同 key 的 value 如何相加?
查看>>
乐观锁悲观锁对应的JAVA代码和数据库
查看>>
集合框架
查看>>
Ribbon简介
查看>>
Windows安装Redis的php扩展
查看>>
Android开发之深入理解Android Studio构建文件build.gradle配置
查看>>
【mysql】批量更新数据
查看>>
LVS DR模式搭建 keepalived lvs
查看>>
x64共享库中的位置无关代码(PIC)
查看>>
程序日志--ios“考反应扑克游戏”程序
查看>>
Java Comparator字符排序(数字、字母、中文混合排序)
查看>>
用js来实现那些数据结构15(图01)
查看>>
Martini源码剖析
查看>>
WireShark开启IP, TCP,UDP校验和的办法
查看>>