獲取控件截圖(View或Viewgroup類型都可以獲取到),去除狀態欄
public Bitmap loadBitmapFromViewBySystem() {
View view = this.getWindow().getDecorView();
view.buildDrawingCache();
// get status bar
Rect rect = new Rect();
view.getWindowVisibleDisplayFrame(rect);
int statusBarHeight = rect.top;
// get screen width
Display display = this.getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width= size.x;
int height= size.y;
// save cache info
view.setDrawingCacheEnabled(true);
// remove status bar
Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache(),0,
statusBarHeight,width,height - statusBarHeight);
// destory cache
view.destroyDrawingCache();
return bitmap;
}
注意:不可聲明static方法,如果聲明靜態方法,全局this不能使用。