Android 實現(xiàn)截屏功能的實例
Android 實現(xiàn)截屏功能的實例
實現(xiàn)代碼:
public class ScreenShot { // 獲取指定Activity的截屏,保存到png文件 private static Bitmap takeScreenShot(Activity activity) { // View是你需要截圖的View View view = activity.getWindow().getDecorView(); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap b1 = view.getDrawingCache(); // 獲取狀態(tài)欄高度 Rect frame = new Rect(); activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); int statusBarHeight = frame.top; Log.i("TAG", "" + statusBarHeight); // 獲取屏幕長和高 int width = activity.getWindowManager().getDefaultDisplay().getWidth(); int height = activity.getWindowManager().getDefaultDisplay() .getHeight(); // 去掉標(biāo)題欄 // Bitmap b = Bitmap.createBitmap(b1, 0, 25, 320, 455); Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height - statusBarHeight); view.destroyDrawingCache(); return b; } // 保存到sdcard private static void savePic(Bitmap b, String strFileName) { FileOutputStream fos = null; try { fos = new FileOutputStream(strFileName); if (null != fos) { b.compress(Bitmap.CompressFormat.PNG, 90, fos); fos.flush(); fos.close(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } // 程序入口 public static void shoot(Activity a) { ScreenShot.savePic(ScreenShot.takeScreenShot(a), "sdcard/xx.png"); } }
需要注意的是,shoot方法只能在view已經(jīng)被加載后方可調(diào)用。
或者在 以下方法這里調(diào)用。
@Override public void onWindowFocusChanged(boolean hasFocus) { // TODO Auto-generated method stub super.onWindowFocusChanged(hasFocus); ScreenShot.shoot(this); }
以上就是Android截屏的實例,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Android設(shè)備與外接U盤實現(xiàn)數(shù)據(jù)讀取操作的示例
本篇文章主要介紹了Android設(shè)備與外接U盤實現(xiàn)數(shù)據(jù)讀取操作的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11Android Studio實現(xiàn)簡單計算器APP
這篇文章主要為大家詳細(xì)介紹了Android Studio實現(xiàn)簡單計算器APP,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03Android 開發(fā)中l(wèi)ayout下的子文件夾
這篇文章主要介紹了android 開發(fā)中l(wèi)ayout下的子文件夾,需要的朋友可以參考下2017-12-12Android平臺中實現(xiàn)數(shù)據(jù)存儲的5種方式
這篇文章主要為大家分享了介紹了Android平臺中實現(xiàn)數(shù)據(jù)存儲技術(shù)的5種方式,供大家學(xué)習(xí),感興趣的小伙伴們可以參考一下2016-06-06Android studio無法創(chuàng)建類和接口和提示問題的完美解決辦法
這篇文章主要介紹了Android studio無法創(chuàng)建類和接口和提示問題解決辦法,內(nèi)容比較簡單,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-04-04Android Flutter實現(xiàn)五種酷炫文字動畫效果詳解
animated_text_kit這一動畫庫有多種文字動畫效果,文中將利用它實現(xiàn)五種酷炫的文字動畫:波浪涌動效果、波浪線跳動文字組、彩虹動效、滾動廣告牌效果和打字效果,需要的可以參考一下2022-03-03android網(wǎng)絡(luò)編程之a(chǎn)ndroid連接網(wǎng)絡(luò)的簡單示例代碼
這篇文章主要介紹了android連接網(wǎng)絡(luò)的簡單示例,需要的朋友可以參考下2014-04-04Android高手進(jìn)階教程(二十六)之---Android超仿Path菜單的功能實現(xiàn)!
本篇文章主要主要介紹了Android超仿Path菜單的功能實現(xiàn),現(xiàn)在分享給大家,也給大家做個參考。感興趣的可以了解一下。2016-11-11