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

做项目中遇到TextView中的文字需要中间某几个字需要动态获取并且突出显示,当然可以用几个TextView叠加来达到效果,这种方法相信不难,但是过于繁琐,大家都可以想到。这里主要介绍一下怎么通过占位符和html标签的形式来实现效果。
例如想要达到这种效果hello**Android**(假设Android这几个字设动态设置的,并且加粗)
首先在string.xml文件中声明

hello%1$s

(这里<是<的转译,原因个人感觉如果不换一种方式来写的话,android没有办法区分是本身string的标签还是html标签了。)
接下来就是在代码中获取内容然后显示了</是<的转译,原因个人感觉如果不换一种方式来写的话,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

hello%1$s

其他的标签自己发挥即可。

:http://www.linuxidc.com/Linux/2017-10/147677.htm