Android + Html 编辑文本的一个小问题

项目中时长会遇到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就能正确解析这段文案了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值