一般使用setDrawingCacheEnabled(true);和getDrawingCache()方法均可以得到视图的截屏。
如果WebView不显示且在背后加载数据的情况下我需要截屏,那么应该怎么做呢。
设置WebView的PictureListener的监听器,然会画到一个Bitmap即可:
/**
* 抓取WEB界面的截屏
* @param WebView
* @param containerWidth 截屏宽度,也就放置WebView的宽度
* @param containerHeight 截屏高度,也就放置WebView的高度
* @param baseUrl Base Url
* @param content 加载的内容
*/
public Bitmap catchWebScreenshot(final WebView w,final int containerWidth,final int containerHeight, final String baseUrl,final String content) {
final Bitmap b = Bitmap.createBitmap(containerWidth, containerHeight, Bitmap.Config.ARGB_8888);
w.post(new Runnable() {
public void run() {
w.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
}
});
w.setPictureListener(new PictureListener() {
public void onNewPicture(WebView view, Picture picture) {
final Canvas c = new Canvas(b);
view.draw(c);
w.setPictureListener(null);
}
});
w.layout(0, 0, containerWidth,containerHeight);
w.loadUrl(baseUrl);
// w.loadDataWithBaseURL(baseUrl, content, "text/html", "UTF-8", null);
}});
return b;
}
分享到:
相关推荐
Android WebView 去除标题 利用javacript交互
Android webview 内存泄露的解决方法 最近在activity嵌套webview显示大量图文发现APP内存一直在涨,没法释放内存,查了很多资料,大概是webview的一个BUG,引用了activity导致内存泄漏,所以就尝试传递...
Android Webview 滑动监听 放大缩小查看网页图片
Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h5的ajax请求并没有提供干涉的接口,这意味着我们不能在webview中干涉javascript发起的http请求,而有时候我们确实需要能够截获ajax请求并实现一些功能...
Android WebView实现自由复制文字
Android webview 播放视频、文字复制
Android webview 加载网页以及本地资源以及SD资源demo,以及加载缓存资源
android webview input=file 失效解决方案
Android下使用Webview实现的HTML5视频播放器,播放本地视频时请加载video目录下的1.html
android webview模拟网页post操作
Android WebView播放视频开发中总结的一些经验,希望同大家分享,这个是相应的Demo,一些经验和注释都在代码中写到。
android WebView上传文件
android webview拨打电话 关注博客http://himici.com
Android webview加载网页
最近做项目过程中,遇到到webview 的各种奇葩问题,相信搞Android开发的也遇到不少webview的适配问题吧,但是前几天遇到webview加载一半的情况,我去,怎么会加载一半呢,太气人了,也没有报错,网上各种搜,但并...
android webview加载网页获取对应url 参数值的方法(csdn)————程序
这是AOSP的webview,包名com.android.webview,不是google的webview
现在web app越来越多,webview控件的使用也越来越重要。 有时我们会在启动页或引导页之后,加载一个webview为控件的主页。 但如果跳转之后再加载,会看到webview有一个加载的过程,如果网页较大可能加载起来会很慢。...