Android中使用WebView加载经过适配的html页面,页面跳转到外部浏览器,页面布局出现错乱和有些按钮点击失效的问题,在浏览器上打开连接没问题,嵌到Android里就出问题了,通过下面的设置就可以解决这些问题。
private void initView() {
webView = findViewById(R.id.webView);
//解决webview加载的网页上的按钮点击失效 以及有些图标显示不出来的问题
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowContentAccess(true);
webSettings.setAppCacheEnabled(false);
webSettings.setBuiltInZoomControls(false);
webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webView.loadUrl(url);
// 将webView的横向竖向的scrollBar都禁用掉,将不再与ScrollView冲突,解决了大面积空白的问题。
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
webView.setVerticalScrollBarEnabled(false);
webView.setVerticalScrollbarOverlay(false);
webView.setHorizontalScrollBarEnabled(false);
webView.setHorizontalScrollbarOverlay(false);
// 重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
}