截屏并去掉状态栏

/**
* 获取截屏后的bitmap
* @return
*/
private static Bitmap getCutBitmap(Context context){
//获取屏幕截图的bitmap
   View view = context.getWindow().getDecorView();
   view.setDrawingCacheEnabled(true);
   Bitmap bmp = view.getDrawingCache();
            /* 如果没有要求, 可以直接返回上面的bitmap*/

   //获取状态栏的高度
   Rect rect = new Rect();
   context.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
   int statusBarHeight = rect.top;


   //获取屏幕的宽和高
   int width = context.getWindowManager().getDefaultDisplay().getWidth();
   int height = context.getWindowManager().getDefaultDisplay().getHeight();
   //去掉状态栏的截图
   Bitmap bitmap = Bitmap.createBitmap(bmp,0, statusBarHeight, width, height - statusBarHeight);
   if(bitmap != null){
    return bitmap;
   }else{
    return null;
   }
}

猜你喜欢

转载自blog.csdn.net/andcisco/article/details/74010909
今日推荐