android 4.1.2文本颜色在html代码中不起作用

时间:2015-03-09 18:12:48

标签: java android html fonts

我的应用程序配置是min sdk 2.1并且针对android 4.x,我在java中尝试使用html,在string.xml中使用html来使TextView中的一个单词成为红色,在模拟器中(androied 2.2)工作正常,但是在我的galaxy mini Android 4.1.2字体颜色变化不起作用!! 在java中我用过:

tv1.setText(Html.fromHtml("<BOLD>book<font color=\"RED\">s</FONT></BOLD>"));

和xml我用过:

<string name="tvCh2SubT1"><bold>Adding \"<font color="red">S</font>\" to make words plural</bold></string>

这是我的应用程序设置的屏幕截图: enter image description here

谢谢你的帮助

4 个答案:

答案 0 :(得分:1)

<font>标记仅在HTML的旧版本中受支持,在HTML5中无效。

可能是因为Android 2.1设备默认解析旧版HTML,但4.1.2默认为HTML5

如果我的猜测是正确的,以下代码应该有效:

tv1.setText(Html.fromHtml("<BOLD>book<span style="color:red">s</span></BOLD>"));

而不是使用<font color=somecolor>,请使用HTML5CSS版本,<span style="color:somecolor">代替。

答案 1 :(得分:1)

请勿使用颜色的名称使用它的十六进制代码。

使用"<font color=\"#FFFFFF\">"

而不是

<font color=white>

答案 2 :(得分:0)

在xml字符串中尝试此操作:

<string name="tvCh2SubT1">"<b>Adding \"<font color='red'>S</font>\" to make words plural</b>"</string>

然后为什么不在布局xml中将文本设置为TextView? 它也具有HTML。

答案 3 :(得分:0)

我的旧代码在将color = \“red \”周围的引号更改为单引号并删除转义斜杠后工作正常:

tv1.setText(Html.fromHtml("<BOLD>book<font color='red'>s</font></BOLD>"));

所以只需将color = \“red \”更改为color ='red'解决了问题(请注意我们不需要逃避单引号)。谢谢大家再次