Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> 實現Android整個屏幕截圖的實例

實現Android整個屏幕截圖的實例

編輯:Android開發實例

       Android開發中實現整個屏幕截圖,首先通過activity對象的getwindow()方法獲得整個屏幕的window對象,再通過整個屏幕的window對象的getDecorView()方法獲得整個屏幕的view,最後截圖的實現,也就是將view轉換成bitmap,然後,將bitmap保存為圖片文件。

Java代碼
  1. public static Bitmap takeScreenShot(Activity act) {    
  2.     if (act == null || act.isFinishing()) {    
  3.         Log.d(TAG, "act參數為空.");    
  4.         return null;    
  5.     }    
  6.    
  7.     // 獲取當前視圖的view    
  8.     View scrView = act.getWindow().getDecorView();    
  9.     scrView.setDrawingCacheEnabled(true);    
  10.     scrView.buildDrawingCache(true);    
  11.    
  12.     // 獲取狀態欄高度    
  13.     Rect statuBarRect = new Rect();    
  14.     scrView.getWindowVisibleDisplayFrame(statuBarRect);    
  15.     int statusBarHeight = statuBarRect.top;    
  16.     int width = act.getWindowManager().getDefaultDisplay().getWidth();    
  17.     int height = act.getWindowManager().getDefaultDisplay().getHeight();    
  18.    
  19.     Bitmap scrBmp = null;    
  20.     try {    
  21.         // 去掉標題欄的截圖    
  22.         scrBmp = Bitmap.createBitmap( scrView.getDrawingCache(), 0, statusBarHeight,    
  23.                 width, height - statusBarHeight);    
  24.     } catch (IllegalArgumentException e) {    
  25.         Log.d("", "#### 旋轉屏幕導致去掉狀態欄失敗");    
  26.     }    
  27.     scrView.setDrawingCacheEnabled(false);    
  28.     scrView.destroyDrawingCache();    
  29.     return scrBmp;    
  30. }  

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved