Android实现截屏
我们大家都在用电脑的时候,用过截屏的功能,有的时候截屏给我们带来了很多的方便,那么我们现在怎么样才能在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实现截屏相关推荐
- Android系统截屏的实现(附代码)
1.背景 写博客快两年了,写了100+的文章,最火的文章也是大家最关注的就是如何实现android系统截屏.其实我们google android_screen_shot就会找到很对办法,但那些都是很多 ...
- android 截长图 方法,Android实现截屏与截长图功能
本文实例为大家分享了Android实现截屏与截长图功能展示的具体代码,供大家参考,具体内容如下 Demo在GitHub的地址:ScreenShoot 在Android开发中,有时候会遇到需要截屏分享到 ...
- android后台截屏实现(2)--screencap源码修改
首先找到screencap类在Android源码中的位置,/442/frameworks/base/cmds/screencap/screencap.cpp. 源码如下: [cpp] view pla ...
- android长截屏代码,android长截屏原理及实现代码
android长截屏原理及实现代码 发布时间:2020-08-31 06:55:16 来源:脚本之家 阅读:158 作者:Android笔记 小米系统自带的长截屏应该很多人都用过,效果不错.当长截屏时 ...
- Android手机截屏
对于android手机截屏,据我所知,现在主要有三种方法. 第一种,通过DDMS. 把手机连接上电脑,运行DDMS,选中你的手机设备,然后点击菜单"设备"->"Sc ...
- android关于截屏,关于android截屏知识的学习
最近要做手机截取当前屏幕的开发,发了大半天时间在网上找了很多资料,终于有了一个大概的头绪和思路,若有问题望指点,谢谢! 目前而言个人了解android有三种截屏方法: 1.android SDK提供的 ...
- android自动截图实现,Android实现截屏功能
原标题:Android实现截屏功能 该方法主要利用SDK提供的view.getDrawingCache()方法,主要步骤如下: 设置view.setDrawingCacheEnabled(true) ...
- Android实现截屏和截长图功能的几种方法
一般情况下各种型号的手机都会有自带的截屏功能,也会有诸如"开关机键+音量键"的截屏快捷键,只要手机是亮屏状态,都会将手机屏幕的可视区域(包含状态栏)全部截取下来. 如果开发中想要调 ...
- Android实现截屏方式
本文介绍了Android 实现截屏方式整理,分享给大家.希望对大家有帮助 可能的需求: 截自己的屏 截所有的屏 带导航栏截屏 不带导航栏截屏 截屏并编辑选取一部分 自动截取某个空间或者布局 截取长图 ...
- Android MediaProjection截屏录屏-适配AndroidQ以上版本
工作中遇到截屏需求,首先想到的肯定是截图所在区域的控件,通过Canvas类将View绘制成一个Bitmap,之后是要显示还是保存都可以了.但是事实上还是有一些问题存在,已知有两个问题:①不能截取到状态 ...
最新文章
- Linux ipcs命令与ipcrm命令的用法详解
- python取中间值的函数_tensorflow实现在函数中用tf.Print输出中间值
- ELK实时日志分析平台环境部署--完整记录
- 软件测试行业有哪些细分方向,软件测试人员有哪些职业发展方向?
- jQuery 1.2 带来的兼容问题及对策
- Opencv实战【1】人脸检测并对ROI区域进行部分处理(变身乔碧萝!!!)
- 成长为一名Java架构师需要掌握的技术有哪些呢?
- 【计算机组成原理】双端口RAM和多模块存储器
- 深度学习之神经网络的结构
- 岌岌可危?大数据营销与数据泄露相伴而行
- 加拿大麦吉尔大学计算机科学学院,加拿大麦吉尔大学专业:加拿大麦吉尔大学的院校介绍以及专业设置...
- JVM Advent Calendar:JCP.NEXT,简化了JCP程序
- N1 Armbian 安装 Domoticz
- 【数学建模】2022亚太赛A题 结晶器熔炼结晶过程序列图像特征提取与建模分析
- Comet OJ 2019 夏季欢乐赛题解
- 关于工作经验积累到底是积累的什么?
- 【活动报名】大数据的流向,究竟去向何处?——深圳站
- IPFS的安装与使用
- 海洋CMSv12.5后台多处代码执行漏洞复现
- python文本自动伪原创_新手一天30篇伪原创,快速在线生成原创文章
热门文章
- 【python学习】-matplotlib绘图如何将坐标轴刻度值设置为科学计数法形式
- 局域网或外网Nexus私服下载安装仓库使用整理(Linux环境)这一篇足够
- WebGL编程指南-24 同时使用漫反射光和环境反射光、立方体平移旋转缩放变换时漫反射光和环境反射光处理
- 从0-1,用51单片机做一个积分计时器,以乒乓球为例
- 一文了解半导体的过去、现在和未来
- opencv findcourter之后的轮廓点拟合
- IDC云灾备白皮书:云灾备支持未来业务持续性新需求
- 【Linux杂篇】经常登录Linux,用户密码背后的知识了解一下
- Loadrunner11
- 13-TDengine使用JDBC-JNI连接报错:JNI connection is NULL