Android WebView基础应用的示例分析
导读:本文共5870字符,通常情况下阅读需要20分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 一、WebView的基础配置WebSettingsws=getSettings();ws.setBuiltInZoomControls(true);//隐藏缩放按钮ws.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);//排版适应屏幕ws.setUseWideViewPort(true);//... ...
目录
(为您整理了一些要点),点击可以直达。Android WebView播放视频(包括全屏播放)
其具体覆盖方法如下:
其具体覆盖方法如下:
还有如下方法,在使用时尤其要注意:
在 shouldOverrideUrlLoading 方法可进行重定向的判断跟处理:
其WebView重定向需要考虑的case如下:
1、是最普通的http url【不含.doc .apk等下载url】
2、下载的http url【如.doc .apk等】
3、非http或https自定义url 【如 "weixin:// alipays://等】
【deprecated】如果期望打开web页时不自动唤起app,可通过 request.hasGesture()【是否】点击来判断,如果是true才唤起第三方app。(此种方案有时不太准确,故可采用下面方案)
【recommend】定义一个boolean值如:isClickWeb = false,在onTouchEvent DOWN方法中,将其赋值为true。在必要位置添加判断即可【具体可参考代码】
在 shouldInterceptRequest 方法中可实现资源预加载:
在onReceivedError方法中,通过 request.isForMainFrame() || url.equals(getUrl() 判断来尽可能少的减少错误页面的展示。即当错误页面是主页面时才展示错误页,避免整个页面中如某个icon等展示错误,导致影响整个页面的情况【如网易音乐的某些URL,就曾有出现这种情况,通过这种方式可以避免错误页面展示】。
当SSL证书无效时,会导致白屏问题,可在 onReceivedSslError 方法中添加 handler.proceed();
可解决白屏问题:
Android WebView基础应用的示例分析的详细内容,希望对您有所帮助,信息来源于网络。