我需要在TextView
中使用html代码插入黑色文本。以下是我所做的。
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>
标签,颜色就会变成黑色,但当然,总体结果不是我想要的。
那么,我该如何保持方面并使文本颜色为黑色呢?
<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>";
您应该知道,Html.fromHtml()只支持Html的一小部分,远远低于WebView。特别是,您不能使用CSS样式表。如果您的输出通过Html.fromHtml()进入TextView,那么您唯一的格式化选项就是在旧的HTML3/4标记中添加字体颜色等。Commonsware在这里有一个有用的列表:Html.fromHtml()标记
以下代码对我有效,希望也对你有效:
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));
我对WebView没有经验,但font
标记不是最先进的,与b
或i
一样,可能会在下一个块标记p
处结束。
<div style='color: #000000'> <p><i>bla bla bla</i></p> <h4>bla bla bla</h4></div>