android手机截屏代码,Android手机截屏代码
首先写个工具类:
public class ScreenShotTool {
private Activity activity;
public ScreenShotTool(Activity activity) {
this.activity = activity;
}
public Bitmap getActivityBitmap() {
/**取得DecorView,这个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;
/**获取屏幕宽和高*/
int width = activity.getWindowManager().getDefaultDisplay().getWidth();
int height = activity.getWindowManager().getDefaultDisplay().getHeight();
/**保存前去掉标题栏*/
Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height - statusBarHeight);
/**清除缓存*/
view.destroyDrawingCache();
return b;
}
/**保存到本地*/
private void compressBitmap(Bitmap b, File filePath) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream(filePath);
if (null != fos) {
/**对图片进行压缩*/
b.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
public void saveScreenshopBitmap(File filePath) {
if (filePath == null) { return; }
if (!filePath.exists()) {
try {
filePath.createNewFile();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
compressBitmap(getActivityBitmap(), filePath);
}
}
--------------在activit中使用-----------
public class ScreenShotActivity extends Activity {
private Button saveBtn;
private Activity act;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_photo);
saveBtn=(Button) findViewById(R.id.photo_btn);
act=this;
saveBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
/**保存路径*/
String savePath = Environment.getExternalStorageDirectory()+"/ldm/myImages";
try {
File filePath = new File(savePath);
if(!filePath.exists()){
filePath.mkdirs();
}
/**文件路径*/
String filepath = savePath + "/today.png";
File file = new File(filepath);
if (!file.exists()) {
file.createNewFile();
}
/**把当前Activity截屏,也可以传入其它Activity*/
new ScreenShotTool(act).saveScreenshopBitmap(file);
}catch(Exception e){
e.printStackTrace();
}
}
});
}
}
android手机截屏代码,Android手机截屏代码相关推荐
- android录屏弹窗,android视频截屏手机录屏实现代码
本文介绍了android视频截屏&手机录屏实现代码,分享给大家,希望对大家有帮助 问题 在android中有时候我们需要对屏幕进行截屏操作,单一的截屏操作好解决可以通过activity的顶层v ...
- android 手机如何截图,原来安卓手机有这么多种截屏方式 最后两种一般人不会用...
原标题:原来安卓手机有这么多种截屏方式 最后两种一般人不会用 在这个信息化的时代,智能手机几乎主宰着天下,人人手中一部智能机 .看新闻,听歌曲,打游戏.我们的日常几乎全部由手机霸占着.但截屏作为初级的 ...
- 荣耀android手机怎么截图,荣耀30怎么截屏?荣耀30三种截屏方法
从苹果手机换荣耀30手机,但是不会截屏,想要截屏怎么办呢? 荣耀30三种截屏方法 荣耀30是华为旗下荣耀的一款智能手机,于2020年4月15日发布.不过由苹果转过来的可以通过下面的方法截图. 使用组合 ...
- android华为怎么截屏快捷键,华为手机怎么截图?华为手机截图怎么截?截屏快捷键是什么?...
感动的瞬间有很多,或许是与亲朋好友视频时的搞怪表情,或许是与爱人在微信的一句表白,又或者是公布比赛结果的那一瞬间.一瞬间的感动,一瞬间的开心,一瞬间的惊喜,不管这一瞬间发生了什么,它们都是很容易消逝的 ...
- 三星 android截屏快捷键,安卓手机怎么截图 各大品牌快捷键截屏大集合
1三星手机快捷键截屏操作 同时按住三星手机的home键与电源开关键不动,等待1-2秒,界面就被截屏下来了. 2华为手机快捷键截屏操作 同时按住华为手机音量减键与电源开关键不动,等待1-2秒,界面就被截 ...
- android写代码截屏微信,android 模仿微信头像裁剪
android 在android开发中经常会碰到修改头像的功能需求, 而在修改头像>中最难的部分就是在头像的裁剪功能.虽说网上一大堆裁剪的例子,但最重要的是要理解里面的实现原理,这样以后自己改起 ...
- android开发截屏代码,android截屏代码:C++实现
android截屏代码:C++实现 示例代码在: frameworks\base\services\surfaceflinger\tests\screencap\screencap.cpp /* * ...
- android 代码截图 录屏 浮窗,教你怎么录制手机屏幕视频,安卓手机如何录屏
原标题:教你怎么录制手机屏幕视频,安卓手机如何录屏 有时候我们或多或少会需要录制手机屏幕上的画面,那么我们如何录制手机屏幕视频呢?其实录制手机屏幕视频还是比较容易的,下面小编便来分享下我录制手机屏幕视 ...
- Android中关于屏幕的三个小众知识(宽屏适配、禁止截屏和保持屏幕常亮)
转自:https://www.jb51.net/article/129633.htm 前言 宽屏适配.禁止截屏和保持屏幕常亮,这三个与屏幕有关的 Android 开发小众知识,说不定什么时候就派上用场 ...
- Android 音视频开发(六) -- Android Mediaprojection 截屏和录屏
Android 音视频开发(一) – 使用AudioRecord 录制PCM(录音):AudioTrack播放音频 Android 音视频开发(二) – Camera1 实现预览.拍照功能 Andro ...
最新文章
- (转)如何从storyBoard中加载其中一个controller
- JDK 5.0 注解的使用
- linux rm命令
- ftp列表错误,flashfxp列表错误,ftp无法列目录的解决方法
- haproxy+keepalived实现负载均衡及高可用
- 【Elasticsearch】zen discovery集群发现机制
- Java中的深拷贝(深复制)和浅拷贝(浅复制)
- 基于Spring + Spring MVC + Mybatis 高性能web构建
- SpringBoot之lombok引入后@Data无法生成getset方法
- 电商网站交易记录设计
- 7. keras - 模型的保存与载入
- 黄绿色——三色配色篇
- java事务是什么_在java中,事务是什么?
- Chrome 打不开网页,火狐却可以
- php frameset不显示,php加载frameset页面时显示空白怎么办_后端开发
- 考研词汇 用语言记忆
- android mac 照片恢复,照片恢复
- 宋君强 学科评估 计算机科学,宋君强
- 获得网易云音乐歌曲播放的url
- 经典唯美爱情说说语录,句句动人心弦
热门文章
- sdut oj 2738 小鑫の日常系列故事(七)——小纸条
- d3.js学习笔记(5)drag拖拽操作数据
- ECharts设置双x轴
- 使用Teamviewer实现远程控制安卓设备的实现过程记录
- 网站中CSS是实现什么功能的,什么是CSS,其主要作用是什么
- 火山引擎多场景下的云原生技术实践
- DAY02 pat乙级刷题(c++代码)
- ROS2初学者教程(Dashing和Eloquent)Windows
- python 飞机大战爆炸效果_Pygame飞机大战为什么飞机与敌机碰撞后不再有图片动态切换效果...
- 清除“我的电脑”地址栏中的记录