2016-03-09 75 views
0

我有一个webview应用程序。我测试了4个版本的os - 4.2.2,4.4.4,5.1.0和6.0。它的工作原理无处不好,看起来像这样Android - 用4.4.4的webview宽度问题

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.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL); 
webView.getSettings().setJavaScriptEnabled(true); 
webView.getSettings().setLoadWithOverviewMode(true); 
webView.getSettings().setUseWideViewPort(true); 

一个说明。在活动中,我有一个webView和4个按钮。当4.4.4中的活动加载时,它显示第一个字符串的内容。它看起来很好,就像在第一张截图中一样。但是当我开始按下改变webView内容的按钮时,它的内容变成了截图2中的样子。更改内容的代码如下

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问题?

+1

如果所有的数据都是用HTML,如果它不是那么URL就可以使用Html.fromHtml在textview中。 –

+0

它解析html标签? –

+0

是的,它解析Html标签 –

回答

0

试试下面的代码行,它可能对你有帮助: -

WebView web_view = (WebView) findViewById(R.id.WEBVIEW); 

    web_view.loadData("PUT YOURS DATA HERE", "text/html", "UTF-8"); 
    web_view.setBackgroundColor(0); 

或者你可以尝试另一种方式来加载Web内容: -

YOUR_TEXTVIEW.setText(Html.fromHtml(PUT YOURS DATA HERE); 
+0

不,我试过这个,它不会改变按钮上的内容点击 –

+0

@AlexeyK ..尝试第二个..您是否尝试第一个以上的解决方案...你面临的问题是什么? –

+0

你可以阅读帖子,以了解问题 –

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); 

希望这应该适用于您。

+0

没有效果,一切都是一样的 –

+0

没有帮助太 –

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()); 
+0

没有效果,仍然崩溃:( –

+0

然后,你将不得不使用一个textView,而不是@AlexeyK –