学习《android编程权威指南》时,在做第30章的例子时,需要打开Flickr的页面,但是这个网站需要翻墙,我就改用了国内的堆糖网代替。
但是按照书上的代码,用WebView打开堆糖的网页是,显示一片空白。
经过调试发现,WebView是获取到了数据的,只是无法显示。
多方查找和摸索,发现用以下代码设置WebView后,页面可以正常打开。
WebSettings mWebSettings = mWebView.getSettings();
mWebSettings.setJavaScriptCanOpenWindowsAutomatically(true);//设置js可以直接打开窗口,如window.open(),默认为false
mWebSettings.setJavaScriptEnabled(true);//是否允许JavaScript脚本运行,默认为false。设置true时,会提醒可能造成XSS漏洞
mWebSettings.setSupportZoom(true);//是否可以缩放,默认true
mWebSettings.setBuiltInZoomControls(true);//是否显示缩放按钮,默认false
mWebSettings.setUseWideViewPort(true);//设置此属性,可任意比例缩放。大视图模式
mWebSettings.setLoadWithOverviewMode(true);//和setUseWideViewPort(true)一起解决网页自适应问题
mWebSettings.setAppCacheEnabled(true);//是否使用缓存
mWebSettings.setDomStorageEnabled(true);//开启本地DOM存储
mWebSettings.setLoadsImagesAutomatically(true); // 加载图片
mWebSettings.setMediaPlaybackRequiresUserGesture(false);//播放音频,多媒体需要用户手动?设置为false为可自动播放
正常打开后的页面