代码块
/**
* 直接调用该方法可以截图,但没有状态栏
*
* @param context
*/
public static File create(Context context) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss", Locale.US);
String fileName = sdf.format(new Date()) + ".png";
File imageFile = new File(context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getPath(), fileName);
View view = ((Activity) context).getWindow().getDecorView().getRootView();
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bitmap = view.getDrawingCache();
if (bitmap != null) {
//裁剪Bitmap
int Bmp_Y = 25;//statusBar高度25
if (((Activity) context).getActionBar() == null) {
Bmp_Y = 75;//ActionBar默认高度50
}
bitmap = Bitmap.createBitmap(bitmap, 0, Bmp_Y, bitmap.getWidth(),
bitmap.getHeight() - Bmp_Y);
try {
FileOutputStream out = new FileOutputStream(imageFile);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
return imageFile;
} catch (Exception e) {
e.printStackTrace();
}
} else {
//bitmap is null
}
return imageFile;
}