Android 获取当前activity的屏幕截图

时间:2022-02-03 15:24:30

本文是转载自Android开发 获取当前activity的屏幕截图

这个保存截图只是当前的activity的截图,不是整个手机的截图,能看到的只是当前的View

很简单,代码不多

public Bitmap onCut(Activity activity){
//获取window最底层的view
View view=activity.getWindow().getDecorView();
view.buildDrawingCache();

//状态栏高度
Rect rect=new Rect();
view.getWindowVisibleDisplayFrame(rect);
int stateBarHeight=rect.top;
Display display=activity.getWindowManager().getDefaultDisplay();

//获取屏幕宽高
int widths=display.getWidth();
int height=display.getHeight();

//设置允许当前窗口保存缓存信息
view.setDrawingCacheEnabled(true);

//去掉状态栏高度
Bitmap bitmap=Bitmap.createBitmap(view.getDrawingCache(),0,stateBarHeight,widths,height-stateBarHeight);

view.destroyDrawingCache();
return bitmap;
}

简单的放个效果图吧

Android 获取当前activity的屏幕截图