大家都知道的网页动态显示是需要多种颜色的才能达到需要的展示效果,如下图:
在 iOS上官方SDK是不提供如此强大的富文本控件的,我在开发的过程中首先找到的是这个FTRichTextView第三方控件,虽然它是以类似HTML 的方式来形成富文本的,但是该控件在UITableView的列表显示性能表现相当糟糕,很容易就不显示完全或者压根就不显示,但是如果在 UITableView中使用UIWebView来显示的话,虽然富文本的目标可以达到,但是大家想想一个页面5,6个WebView会卡成什么样呢?
后来我找到了 这套控件,使用方法类似HTML文本格式,效果如下图
而在Windows Phone开发上,因为原生的TextBlock控件就支持多种样式的Run叠加,所以WP7平台好处理多了,我们只需要针对不同颜色的文本添加不同样式的Run就能达成下图的效果
同样在Android开发上,Android SDK的TextView也是支持富文本显示的,将普通的字符串转换为SpannableString就可以了
public static SpannableString parseQuoteSpan(String name,String body){ SpannableString sp = new SpannableString("回复:"+name+"\n"+body); //设置用户名字体加粗、高亮 sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 3, 3+name.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); sp.setSpan(new ForegroundColorSpan(Color.parseColor("#0e5986")), 3, 3+name.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); return sp; }
效果如下图
如果大家有任何疑问,请在下面的回帖中讨论吧
PS:
OSC Android客户端下载地址:
OSC iPhone客户端下载地址:
OSC Windows Phone客户端下载地址:
转载: