android 实现截取 内容超过屏幕大小的长图
2016-06-28 20:51
387 查看
android 实现截取 内容超过屏幕大小的长图
分析:一般的控件不能超过内容屏幕长度的截图,这时候我们就要去寻找可以显示全的控件。
当内容已经超出了手机可显示的范围时,要截取这些所有的内容,从而生成所谓的”长截图”.
没什么难点,利用了webview的特点,和scrollview 的view的绘制,生成bitmap。
scrollView截图
webView截图
分析:一般的控件不能超过内容屏幕长度的截图,这时候我们就要去寻找可以显示全的控件。
当内容已经超出了手机可显示的范围时,要截取这些所有的内容,从而生成所谓的”长截图”.
没什么难点,利用了webview的特点,和scrollview 的view的绘制,生成bitmap。
scrollView截图
/*** * scrollView截图 * @param scrollView * @return */ public static Bitmap getBitmapByView(ScrollView scrollView) { int h = 0; Bitmap bitmap = null; for (int i = 0; i < scrollView.getChildCount(); i++) { h += scrollView.getChildAt(i).getHeight(); scrollView.getChildAt(i).setBackgroundResource(R.mipmap.riding_report); // scrollView.getChildAt(i).setBackgroundColor( // Color.parseColor("0xFFFFFFFF")); } bitmap = Bitmap.createBitmap(scrollView.getWidth(), h, Bitmap.Config.RGB_565); final Canvas canvas = new Canvas(bitmap); scrollView.draw(canvas); return bitmap; }
webView截图
/*** * webView截图 * @param webView * @return */ private static Bitmap captureWebView(WebView webView) { Picture snapShot = webView.capturePicture(); Bitmap bmp = Bitmap.createBitmap(snapShot.getWidth(), snapShot.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bmp); snapShot.draw(canvas); return bmp; }
相关文章推荐
- Android vold通讯篇(CommandListener)
- <Android 基础(九)> Ndk配置与Demo
- <Android 基础(九)> Ndk配置与Demo
- [Android Pro] 小心ReleaseByteArrayElements 中的参数问题
- Android之JNI NDK开发的常见问题
- Android中的Drawable小结
- Android之JNI打印调试信息-LOG打印
- Android之Tombstone/Crash的log分析和定位-错误分析
- Android SQLite数据库版本升级原理解析
- Android自定义控件基础
- [笔记]Android Apk Java签名的含义
- This version of android studio is incompatible with the gradle version used.Try disabling the instan
- android 5.0新特性 上滑关闭Toolbar
- Android中的Drawable资源—— VectorDrawable
- Android屏幕适配全攻略(最权威的官方适配指导)
- android opengl jni中纹理贴图
- 异步下载照片墙
- achartengine
- AndroidStudio常见依赖格式
- android编译时如何决定一个APK等Module是否被自动编译到system.img中