协慌网

登录 贡献 社区

如何在 TextView 中显示 HTML?

我有简单的HTML

<h2>Title</h2><br>
<p>description here</p>

我想在TextView显示 HTML 样式的文本。这该怎么做?

答案

您需要使用Html.fromHtml()在 XML 字符串中使用 HTML。仅在布局 XML 中引用带有 HTML 的字符串将不起作用。

这是您应该做的:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
    textView.setText(Html.fromHtml("<h2>Title</h2><br><p>Description here</p>", Html.FROM_HTML_MODE_COMPACT));
} else { 
    textView.setText(Html.fromHtml("<h2>Title</h2><br><p>Description here</p>"));
}

在 api 24 之后不推荐使用 setText(Html.fromHtml(bodyData))。现在,您必须执行以下操作:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
      tvDocument.setText(Html.fromHtml(bodyData,Html.FROM_HTML_MODE_LEGACY));
 } else {
      tvDocument.setText(Html.fromHtml(bodyData));
 }

看看这个: https : //stackoverflow.com/a/8558249/450148

太好了!!

<resource>
    <string name="your_string">This is an <u>underline</u> text demo for TextView.</string>
</resources>

它仅适用于少量标签。