Android - 4.4.4中的webview宽度问题

时间:2016-03-09 11:11:45

标签: android webview

我有一个带webview的应用程序。我在4个版本的os - 4.2.2,4.4.4,5.1.0和6.0中测试它。它无处不在,看起来像这样

enter image description here

除了4.4.4,其中webview的宽度是水平折叠的。看起来像这样

enter image description here

在某些答案中,有人建议使用<meta name="viewport">来解决问题。我试过这行<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">,看起来像这样

enter image description here

我使用的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上的问题?

3 个答案:

答案 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());