大家好,最近f在项目里遇到了一个textview显示内容的小需求,从设计图上来讲,两边字的颜色不一样,而且左边的是写死的,右边需要请求到数据以后再填充。之前了解过string的format()方法,它可以实现用一个textview显示写死的和请求到内容的功能。当然,现在f发现,即使不用这个api,用“+”号连接请求到的内容,作为string,也可以再textview中显示。但是如果用两个textview来显示,总觉得会浪费,后来查找到了相关资料。现在就着重理解一下如何在一个textview中显示不同颜色的字。

例如: ()

TextView textview = (TextView)findViewById(…);
textview.setText(Html.fromHtml
(“< font size=\”3\” color=\”black\”>当前待付:
< font size=\”3\” color=\”red\”>”+”1000.00”+”元”)+””));

这样在显示时候就能达到我们需要的效果。使用html来显示的好处就是避免了使用多个textview控件来达到所需的效果,也算是在一定程度上提升了系统的性能。

至于string,format();这个api的功能也很强大,可以按要求格式化各种字符串,有兴趣的同学可以自己找资料。我着重介绍,String.format(String str,String string);

例如: 玩家姓名:Vincent
如果Vincent是通过服务器请求到的,那我们在代码里实现就可以这样:
TextView textview = (TextView)findViewById(…);
textview.setText(String.format((textview.getText().toString),”Vincent”));

当然使用textview.setText(“玩家姓名”+”Vincent”);也可以实现。不过f总是会想到用两个textview来实现。。。

用html实现需要注意一下几点:
字体大小需要控制,字体颜色可以通过写成”#ffffff”来实现。如果有需要,还需要大家自己动手实践。

最近f买了几本书,有《高效能人士的七个习惯》,《编程珠玑》,《七周七语言》,还打算入手一些,阅读以后发现有些成功学的书籍还是很不错的,给大家推荐一下七个习惯(可惜作者已经不在了)。

好了,这期主要讲了一个小技巧,希望f能真正地帮到大家,这几天通过guolin,hongyang,xiaanming的博客,分析学习了Android的事件分发机制,可能会找时间来分享一下,不过大部分都是2.2的sdk,5.0的sdk已经加了很多新内容,或者是做一个总结,把我在自学的过程中遇到的问题及如何解决理解的跟大家交流。我们下期再见~