Android + Html 编辑文本的一个小问题
程序员文章站
2024-02-10 13:17:28
...
项目中时长会遇到TextView 显示的文本要用到不同的样式,这时如果用很多个TextView组合会显得比较low,而且也比叫浪费时间,通常我们利用Html相关的API:
String text = "<font color='#333333'><Strong>"+
Hello+
"</Strong></font>
<font color='#666666'>"+
World+
"</font>";
textView1.setText(Html.fromHtml(text));
实际应用中,我们通常会将文案写在资源文件中,然后在代码中调用,但我们会发现在资源文件中写的样式却没有效果:
<string name="test_1">
This is a <font color="#4fc3f7"><a href="https://www.baidu.com">Hello world</a>
</font>yeah,yeah,fuck!
</string>
textView1.setText(Html.fromHtml(getString(R.string.test_1)));
怎么解决这个问题呢?其实很简单,在资源文件里相应的文案上加上 <![CDATA[]]>:
<string name="test_1">
<![CDATA[
This is a <font color="#4fc3f7" size="24px"><a href="https://www.baidu.com">Test
case</a></font>yeah,yeah,fuck!
]]>
</string>
这样在资源文件里写的样式就成正确显示了,那么这是什么意思呢?
<![CDATA[]]> 包含的内容将表示为纯文本,这样Html的API就能正确解析这段文案了。
上一篇: postgre函数008—常用的数学函数