WebView显示空白页问题解决

在使用WebView控件将网页嵌入应用的时候有时会遇到页面显示不出来或者显示为空白页的情况,以下为解决方案:


webView = (WebView) findViewById(R.id.id_wv);获取WebView
WebSettings webSettings = webView.getSettings();

webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 设置缓存

webSettings.setJavaScriptEnabled(true);设置能够解析Javascript
webSettings.setDomStorageEnabled(true);设置适应Html5的一些方法

注意还要在AndroidManifest.xml里的<application>标签前添加用户权限

<uses-permission android:name="android.permission.INTERNET"/> 添加权限后才能访问网络。

通过以上的设置就能够加载网页的内容和JS方法了,但是需要注意的是有时候在按照以上的方法设置以后还是显示的空白页,这时需要检查布局文件,在<WebView>标签的属性中需要设置width和height全都为match_parent/fill_parent才能够正常显示,若设置为wrap_content则有些页面无法正常显示。

<WebView
android:id="@+id/id_wv"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

设置好以后再webView.loadUrl(url)就能够正常显示页面了。


之所以需要这样设置WebVie的width和height,是因为有的整个页面都是通过JS动态加载的,在加载之前是没有大小的,所以如果是warp_content 内容自适应的话就是没有内容,这样在WebView界面上就显示一片空白。这个属于例外情况,不过为了良好的显示各种网页,建议修改WebView的属性。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值