4

我需要使用 html 代码在TextView. 这是我所做的。

String html="<font color='#000000'> <p><i>bla bla bla</i></p> <h4>bla bla bla</h4> </font>";
textView.setText(Html.fromHtml(html));

结果是正确的,除了文本颜色是灰色而不是黑色。我已经注意到,如果我删除<p>标签和<h4>标签,颜色会变成黑色,但当然整体结果不是我想要的。

那么,我怎样才能保持外观并使文本颜色变黑呢?

4

4 回答 4

1

您应该知道 Html.fromHtml() 仅支持 HTML 的一小部分——比 WebView 少得多。特别是,您不能使用 CSS 样式表。如果您的输出通过 Html.fromHtml() 发送到 TextView,那么您唯一的格式化选项是将字体颜色等添加到旧的 HTML3/4 标记中。Commonsware 在这里有一个有用的列表:Html.fromHtml() tags

于 2013-07-25T11:33:02.080 回答
1
<font> tag should be used inside `<p>` tag and as well as inside `<h4>` tag

所以你将不得不使用两个不同的 <font>标签!

尝试以下代码,它肯定会工作,因为我已经测试过了!

要么使用

String html=" <p><i><font color='#000000'>bla bla bla</font></i></p> <h4><font color='#000000'>bla bla bla</font></h4>";

或者

String html=" <p><font color='#000000'><i>bla bla bla</i></font></p> <h4><font color='#000000'>bla bla bla</font></h4>";

代替 String html="<font color='#000000'> <p><i>bla bla bla</i></p> <h4>bla bla bla</h4> </font>";

于 2013-07-25T09:13:59.900 回答
0

我对 WebView 没有经验,但font标签不是最先进的,并且喜欢bi可能在下一个块标签处结束p

<div style='color: #000000'> <p><i>bla bla bla</i></p> <h4>bla bla bla</h4></div>
于 2013-07-25T09:02:40.103 回答
0

下面的代码对我有用,希望也对你有用:

Html.fromHtml("<![CDATA[<font color='#145A14'>text</font>]]>");

在你的例子中这样写:

String html="<![CDATA[<font color='#000000'> <p><i>bla bla bla</i></p> <h4>bla bla bla</h4> </font>]]";
textView.setText(Html.fromHtml(html));
于 2013-07-25T08:55:43.370 回答