Android獲取屏幕截圖Bitmap去除狀態欄

獲取控件截圖(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不能使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章