Android String.xml文件中使用占位符和html标签

做项目中遇到TextView中的文字需要中间某几个字需要动态获取并且突出显示,当然可以用几个TextView叠加来达到效果,这种方法相信不难,但是过于繁琐,大家都可以想到。这里主要介绍一下怎么通过占位符和html标签的形式来实现效果。
例如想要达到这种效果hello**Android**(假设Android这几个字设动态设置的,并且加粗)
首先在string.xml文件中声明
<string name="helloAndroid">hello&lt;b>%1$s&lt;/b></string>
(这里&lt;是<的转译,原因个人感觉如果不换一种方式来写的话,Android没有办法区分是本身string的标签还是html标签了。)
接下来就是在代码中获取内容然后显示了
    String str = getResources().getString(R.id.helloAndroid);
    String text = String.format(str,"Android");
    String txt = Html.fromHtml(text);
    ((TextView)findViewById(R.id.hello)).setText(txt);

这样就可以了,如果想要实现颜色同样可以添加html标签,例如显示黑色,就可以这样定义string

<string name="overstep_super_scholar_night">hello&lt;b>&lt;font color="#000000">%1$s&lt;/font>&lt;/b></string>

其他的标签自己发挥即可。
(自己的第一篇博客,不足之处还请各位看官谅解。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值