版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/miao9999/article/details/84565398
-
通过调用 js 的一些方法,控制网页的显示状态,以及一些 js 的方法执行网页中的事件,点击事件,焦点事件,移除某个属性、某个方法等
-
当需要只显示网页中的一部分,并且不能滑动时
// 取消webiew的滑动事件,webview不可滑动 mWebView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return (event.getAction() == MotionEvent.ACTION_MOVE); } });
-
遇到的主要的问题是:
-
加载完成的回调与显示到页面上在会有时间差 (主要影响截取最终结果的图片,可能会截不全,或是空白页面,现在使用延时截取的方法来避免)
-
处理网页中的一些元素,或是要获取网页中的某些值时,只能在页面加载完成后的回调里进行,当再次处理时,处理完成后的回调不确定,没有相关的回调方法
-
某些 js 代码需要通过点击事件去触发,直接在onPageFinished() 方法中调用可能会不起做用,还没找到原因和更好解决方法
-
向 html 文件中添加一段较长的 thml 代码时,不能直接添加带有格式的 html 代码片断,需要把代码里的一些 “\n”、“\t” 等字符串去掉,同时还要注意单引号与双引用的冲突
-
当页面中同时存在 webview 和edittext 时,且webview 网页里有输入框,这时会存在焦点抢占的问题
-
截取 webview 全屏时需要设置一个属性,放在 setContentView()之前
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.enableSlowWholeDocumentDraw(); }
-