我有一个带webview的应用程序。我在4个版本的os - 4.2.2,4.4.4,5.1.0和6.0中测试它。它无处不在,看起来像这样
除了4.4.4,其中webview的宽度是水平折叠的。看起来像这样
在某些答案中,有人建议使用<meta name="viewport">
来解决问题。我试过这行<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
,看起来像这样
我使用的webview设置如下
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
另一个注意事项。在活动中,我有一个webView和4个按钮。当活动在4.4.4中加载时,它显示第一个字符串的内容。它看起来很好,就像在第一个截图中一样。但是,当我开始按下更改webView内容的按钮时,其内容就像截图二。更改内容的代码如下:
body.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
webView.loadDataWithBaseURL(null, resultArray[0].getBody(), "text/html", "UTF-8", null);
}
});
任何建议,如何解决4.4.4上的问题?
答案 0 :(得分:0)
尝试下面的代码行,对您有所帮助: -
WebView web_view = (WebView) findViewById(R.id.WEBVIEW);
web_view.loadData("PUT YOURS DATA HERE", "text/html", "UTF-8");
web_view.setBackgroundColor(0);
或者您可以尝试其他方式加载网络内容: -
YOUR_TEXTVIEW.setText(Html.fromHtml(PUT YOURS DATA HERE);
答案 1 :(得分:0)
你能试试这个吗?
webView = (WebView) findViewById(R.id.noticiasWebView);
webView.setInitialScale(1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);
希望这对你有用。
答案 2 :(得分:0)
相信我几个月前我得到了同样的东西,这段代码终于为我做了:
WebView web=(WebView) vfrag.findViewById(R.id.webview);
web.getSettings().setBuiltInZoomControls(true);
web.getSettings().setLoadWithOverviewMode(true);
web.getSettings().setUseWideViewPort(true);
web.getSettings().setJavaScriptEnabled(true);
web.getSettings().setTextSize(WebSettings.TextSize.LARGEST);; //This line is important
web.setWebViewClient(new WebViewClient());