繁体   English   中英

Android Html.fromHtml() 在嵌套文本样式上无法正常工作

[英]Android Html.fromHtml() does not work correctly on nested text style

我想显示 HTML

"<html><body><font color=\"black\">
In the name of <font color=\"blue\"><b> God</b></font>
the compassionate, the merciful</font></body><html>"

在一个文本视图中。 所以我使用了Html.fromHtml() ,但输出与浏览器相比有所不同。

不同之处在于“上帝”一词在 TextView 中没有以蓝色出现。

代码:

textView.setText("<html><body><font color=\"black\">
  In the name of <font color=\"blue\"><b> God</b></font>
  the compassionate, the merciful</font></body><html>");

Html.fromHtml(String)不支持所有 HTML 标签

允许的 HTML 标签列表:

  • br
  • div
  • em
  • 强的
  • 一世
  • dfn
  • 小的
  • 字体
  • 块引用
  • 一种

像这样尝试:

textView.setText(Html.fromHtml("<html><body>In the name of<font color=blue><b> God </b></font>the compassionate, the merciful</body><html>"));

注意:黑色是默认颜色,因此您不必为黑色使用<font>标签。

如果您想以正确的方式使用完整的标签(例如,对于GRAYBLUE ):

textView.setText(Html.fromHtml("<html><body><font color=gray>In the name of </font><font color=blue><b> God </b></font><font color=gray>the compassionate, the merciful</font></body><html>"));

看起来这个问题已在HtmlCompatHtmlCompat 所以尝试使用它而不是旧的弃用Html

import androidx.core.text.HtmlCompat;

....

HtmlCompat.fromHtml(stringVar, HtmlCompat.FROM_HTML_MODE_LEGACY);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM