CDATA中的HTML在Webview中不显示

时间:2018-07-18 07:25:26

标签: android android-webview cdata

我在应用程序中使用webview。 我像下面的代码一样使用它:

String htmlHeader =
      "<html>\n" +
        "    <head>\n" +
        "            <style>\n" +
        "                @font-face {\n" +
        "                    font-family: \"VFont\";\n" +
        "                    src: url('file:///android_asset/fonts/vazir_bold.ttf');\n" +
        "                }\n" +
        "                p,body {font-family: \"VFont\"}\n" +
        "            </style>\n" +
        "    </head>\n" +
        "<body dir=\"rtl\",\n" +
        "font-family: \"VFont\",\n" +
        "bgcolor=\"white\",\n" +
        "font-size=\"14px\"";  String htmlEnd = "</body></html>";
    String myHtmlString = Html.fromHtml(getString(R.string.html_default_header)) + detailData.getDescription() + htmlEnd;

    webDetail.loadDataWithBaseURL(
      "file:///android_asset/",
      myHtmlString,
      "text/html",
      "UTF-8",
      null);

它可以正常工作。

现在,我想将htmlHeader放入字符串值。我是这样的:

  <string name="html_default_header">
    <![CDATA[<html>
           <head>
               <style>
                    @font-face {
                       font-family:"VFont";
                        src: url(\'file:///android_asset/fonts/vazir_bold.ttf\');
                    }

                    p,body {font-family:"VFont"}
               </style>
           </head>

           <body dir="rtl",
                 "font-family:"VFont",
                 "bgcolor="white",
                 "font-size="14px">
    ]]>

  </string>


  <string name="html_default_end"><![CDATA[</body></html>]]></string>

并这样更改我的代码:

String myHtmlString = Html.fromHtml(getString(R.string.html_default_header)) + detailData.getDescription() + R.string.html_default_end;

webDetail.loadDataWithBaseURL(
  "file:///android_asset/",
  myHtmlString,
  "text/html",
  "UTF-8",
  null);

但这对我不起作用。

问题出在哪里?

谢谢您的回答。

0 个答案:

没有答案