如何以适当的格式在Android WebView中显示html文本?

时间:2012-11-16 06:19:30

标签: android html android-webview

我有一个字符串,其中包含从json文件解析的html文本和图像。我需要在webview中显示它。该字符串由3-4段组成,但在webview显示时显示像一个段落,即android webview跳过breakline标签。但我的要求是在网站上显示正确的对齐方式。请帮助我。

我的Json文件链接是this

我的webview代码是

//newsContent contains the json string after parsing.

  String all="<html><body>"+newsContent+"</body></html>";

                 tv.getSettings().setJavaScriptEnabled(true); 
                 tv.getSettings().setPluginsEnabled(true);
                 tv.getSettings().setSupportZoom(false);
                 tv.getSettings().setAllowFileAccess(true);
                 WebSettings webSettings = tv.getSettings();
                 tv.getSettings().setAllowFileAccess(true);
                 webSettings.setTextSize(WebSettings.TextSize.NORMAL);

                 tv.loadDataWithBaseURL(null,all, "text/html", "UTF-8", null);

3 个答案:

答案 0 :(得分:3)

问题在于你的json数据中的“\ r \ n”。看起来像\ r \ n只有当它们被包装在标签中时才能工作。简单的解决方案是用\ tag替换\ r \ n。

String all="<html><body>"+newsContent.replace("\r\n", "<br/>")+"</body></html>";

答案 1 :(得分:0)

String text = "<html><body style=\"text-align:justify\"> %s </body></Html>";
String data = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ac quam risus, at tempus justo. Sed dictum rutrum massa eu volutpat. Quisque vitae hendrerit sem.";
WebView webView = (WebView) findViewById(R.id.WebView);
webView.loadData(String.format(text, data), "text/html", "utf-8");

答案 2 :(得分:0)

以下作品。应该有双斜杠\ r \ n

String all=""+newsContent.replace("\\r\\n", "
")+"";