Android中string资源文件的巧用

  • 曾将在网上看到一篇博客,讲解到在Android开发中,代码中不要出现中文字符,中文字符全部都放到资源文件string.xml文件中,

一开始觉得繁琐,而且多此一举,直到今天项目中发现有一个汉字错误了,我的天呐,有好多地方都有相同的错误,要改的话好繁琐,

宝宝的内心是崩溃的,现在才感觉当时那会仁兄说的是多么正确,所有的汉字都放到string.xml文件中这样以后维护起来,

还特别的方便,有一个字符需要修改的话,之需要修改string资源文件中的字符就可以了,如果在布局文件中,好吧,那你有的找了,

而且都把时间花费在这没有技术含量的时间上,未免有一些浪费,程序员的时间很珍贵,个人感觉,时间真的好宝贵,所以不要浪费在这上面。

  • 好了,废话不多说了,在添加汉字到string资源文件的同时,我还发现了一个很方便的,很6的功能。
Android中string资源文件的巧用_第1张图片
项目截图.png

近期的项目中有这样的功能,图中蓝色和红色的字都是跟随edittext的内容改变的,那么问题来了,你是怎么进行内容变色的呢?

一开始拿到这个图也有一点蒙,最后google了一下,看到了一个方法,所以用到了,在这里给大家说一下。

利用Html.fromHtml()的方法可以改变字体的颜色,其中也有一些属性还可以设置,比如字体等,类似于H5的功能

具体的源码,我只看了一些,技术和基础不太扎实,只理解了一部分,图文功能也用到这个功能。

  • 废话不多说了上代码

资源文件


%1$s(您的%2$s已被代收),
%3$s,请到
%4$s领取。加微信查询。]]>

java代码

//随短信内容监听文字内容改变
String messageInfo = getResources().getString(R.string.message_info);
String cost = getResources().getString(R.string.overdue_cost);
String overdueCost = String.format(cost, UserInfoBean.getInstance().getLiness());
String info = String.format(messageInfo, "XXXXXX", "XXX", overdueCost, UserInfoBean.getInstance().getUsermessage());
tvMessageInfo.setText(Html.fromHtml(info));

其中%1$s,%2$s等是依次替换第一个字符串,第二个字符串,先使用String.format方法其中的%1$s等赋值
然后利用
tvMessageInfo.setText(Html.fromHtml(info))
方法设置文本
这样可以达到变色和替换字符串的办法
当然你也可以监听edittext输入状态然后改变文字的内容和颜色,相信在项目中你一定用到这个技能,get一下也没有坏处 - -
第一次写文章,为了学习和记录,分享给大家,可能某些地方不足,希望见谅,后面会完善写作风格和代码
希望大家提意见。谢谢。
下面是动态图

Android中string资源文件的巧用_第2张图片
GIF.gif

你可能感兴趣的:(Android中string资源文件的巧用)