我的应用程序配置是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>
这是我的应用程序设置的屏幕截图:
谢谢你的帮助
答案 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>
,请使用HTML5
与CSS
版本,<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'解决了问题(请注意我们不需要逃避单引号)。谢谢大家再次