鸡骨草的作用,颜正国,口袋侦探第十关攻略
android 实现截屏功能的实例
实现代码:
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(); // 获取状态栏高度 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(); // 去掉标题栏 // 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已经被加载后方可调用。
或者在 以下方法这里调用。
@override public void onwindowfocuschanged(boolean hasfocus) { // todo auto-generated method stub super.onwindowfocuschanged(hasfocus); screenshot.shoot(this); }
以上就是android截屏的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论