我们大家都在用电脑的时候,用过截屏的功能,有的时候截屏给我们带来了很多的方便,那么我们现在怎么样才能在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");
}
} 

Android实现截屏相关推荐

  1. Android系统截屏的实现(附代码)

    1.背景 写博客快两年了,写了100+的文章,最火的文章也是大家最关注的就是如何实现android系统截屏.其实我们google android_screen_shot就会找到很对办法,但那些都是很多 ...

  2. android 截长图 方法,Android实现截屏与截长图功能

    本文实例为大家分享了Android实现截屏与截长图功能展示的具体代码,供大家参考,具体内容如下 Demo在GitHub的地址:ScreenShoot 在Android开发中,有时候会遇到需要截屏分享到 ...

  3. android后台截屏实现(2)--screencap源码修改

    首先找到screencap类在Android源码中的位置,/442/frameworks/base/cmds/screencap/screencap.cpp. 源码如下: [cpp] view pla ...

  4. android长截屏代码,android长截屏原理及实现代码

    android长截屏原理及实现代码 发布时间:2020-08-31 06:55:16 来源:脚本之家 阅读:158 作者:Android笔记 小米系统自带的长截屏应该很多人都用过,效果不错.当长截屏时 ...

  5. Android手机截屏

    对于android手机截屏,据我所知,现在主要有三种方法. 第一种,通过DDMS. 把手机连接上电脑,运行DDMS,选中你的手机设备,然后点击菜单"设备"->"Sc ...

  6. android关于截屏,关于android截屏知识的学习

    最近要做手机截取当前屏幕的开发,发了大半天时间在网上找了很多资料,终于有了一个大概的头绪和思路,若有问题望指点,谢谢! 目前而言个人了解android有三种截屏方法: 1.android SDK提供的 ...

  7. android自动截图实现,Android实现截屏功能

    原标题:Android实现截屏功能 该方法主要利用SDK提供的view.getDrawingCache()方法,主要步骤如下: 设置view.setDrawingCacheEnabled(true) ...

  8. Android实现截屏和截长图功能的几种方法

    一般情况下各种型号的手机都会有自带的截屏功能,也会有诸如"开关机键+音量键"的截屏快捷键,只要手机是亮屏状态,都会将手机屏幕的可视区域(包含状态栏)全部截取下来. 如果开发中想要调 ...

  9. Android实现截屏方式

    本文介绍了Android 实现截屏方式整理,分享给大家.希望对大家有帮助 可能的需求: 截自己的屏 截所有的屏 带导航栏截屏 不带导航栏截屏 截屏并编辑选取一部分 自动截取某个空间或者布局 截取长图 ...

  10. Android MediaProjection截屏录屏-适配AndroidQ以上版本

    工作中遇到截屏需求,首先想到的肯定是截图所在区域的控件,通过Canvas类将View绘制成一个Bitmap,之后是要显示还是保存都可以了.但是事实上还是有一些问题存在,已知有两个问题:①不能截取到状态 ...

最新文章

  1. Linux ipcs命令与ipcrm命令的用法详解
  2. python取中间值的函数_tensorflow实现在函数中用tf.Print输出中间值
  3. ELK实时日志分析平台环境部署--完整记录
  4. 软件测试行业有哪些细分方向,软件测试人员有哪些职业发展方向?
  5. jQuery 1.2 带来的兼容问题及对策
  6. Opencv实战【1】人脸检测并对ROI区域进行部分处理(变身乔碧萝!!!)
  7. 成长为一名Java架构师需要掌握的技术有哪些呢?
  8. 【计算机组成原理】双端口RAM和多模块存储器
  9. 深度学习之神经网络的结构
  10. 岌岌可危?大数据营销与数据泄露相伴而行
  11. 加拿大麦吉尔大学计算机科学学院,加拿大麦吉尔大学专业:加拿大麦吉尔大学的院校介绍以及专业设置...
  12. JVM Advent Calendar:JCP.NEXT,简化了JCP程序
  13. N1 Armbian 安装 Domoticz
  14. 【数学建模】2022亚太赛A题 结晶器熔炼结晶过程序列图像特征提取与建模分析
  15. Comet OJ 2019 夏季欢乐赛题解
  16. 关于工作经验积累到底是积累的什么?
  17. 【活动报名】大数据的流向,究竟去向何处?——深圳站
  18. IPFS的安装与使用
  19. 海洋CMSv12.5后台多处代码执行漏洞复现
  20. python文本自动伪原创_新手一天30篇伪原创,快速在线生成原创文章

热门文章

  1. 【python学习】-matplotlib绘图如何将坐标轴刻度值设置为科学计数法形式
  2. 局域网或外网Nexus私服下载安装仓库使用整理(Linux环境)这一篇足够
  3. WebGL编程指南-24 同时使用漫反射光和环境反射光、立方体平移旋转缩放变换时漫反射光和环境反射光处理
  4. 从0-1,用51单片机做一个积分计时器,以乒乓球为例
  5. 一文了解半导体的过去、现在和未来
  6. opencv findcourter之后的轮廓点拟合
  7. IDC云灾备白皮书:云灾备支持未来业务持续性新需求
  8. 【Linux杂篇】经常登录Linux,用户密码背后的知识了解一下
  9. Loadrunner11
  10. 13-TDengine使用JDBC-JNI连接报错:JNI connection is NULL