android屏幕截图
16lz
2021-12-04
android屏幕截图
Java代码
Java代码
- importjava.io.FileNotFoundException;
- importjava.io.FileOutputStream;
- importjava.io.IOException;
- importandroid.app.Activity;
- importandroid.graphics.Bitmap;
- importandroid.graphics.Rect;
- importandroid.view.View;
- publicclassScreenShot{
- //获取指定Activity的截屏,保存到png文件
- privatestaticBitmaptakeScreenShot(Activityactivity){
- //View是你需要截图的View
- Viewview=activity.getWindow().getDecorView();
- view.setDrawingCacheEnabled(true);
- view.buildDrawingCache();
- Bitmapb1=view.getDrawingCache();
- //获取状态栏高度
- Rectframe=newRect();
- activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
- intstatusBarHeight=frame.top;
- System.out.println(statusBarHeight);
- //获取屏幕长和高
- intwidth=activity.getWindowManager().getDefaultDisplay().getWidth();
- intheight=activity.getWindowManager().getDefaultDisplay().getHeight();
- //去掉标题栏
- //Bitmapb=Bitmap.createBitmap(b1,0,25,320,455);
- Bitmapb=Bitmap.createBitmap(b1,0,statusBarHeight,width,height-statusBarHeight);
- view.destroyDrawingCache();
- returnb;
- }
- //保存到sdcard
- privatestaticvoidsavePic(Bitmapb,StringstrFileName){
- FileOutputStreamfos=null;
- try{
- fos=newFileOutputStream(strFileName);
- if(null!=fos)
- {
- b.compress(Bitmap.CompressFormat.PNG,90,fos);
- fos.flush();
- fos.close();
- }
- }catch(FileNotFoundExceptione){
- e.printStackTrace();
- }catch(IOExceptione){
- e.printStackTrace();
- }
- }
- //程序入口
- publicstaticvoidshoot(Activitya){
- ScreenShot.savePic(ScreenShot.takeScreenShot(a),"sdcard/xx.png");
- }
- }
更多相关文章
- android实现签名功能
- android屏幕截图
- Android有用代码片断(六)
- 【Android(安卓)笔记 五】 Android(安卓)Sensor感应器介绍(一)重力
- android中的后退键——onBackPressed()的使用
- android定位个人当前位置
- Android(安卓)获取控件宽高
- android 将图片转换成黑白图片
- Android实现打电话功能