【OSC手机App技术解析】- 富文本列表的展示

大家都知道OSC的网页动态显示是需要多种颜色的才能达到需要的展示效果,如下图:

 


在 iOS上官方SDK是不提供如此强大的富文本控件的,我在开发的过程中首先找到的是这个FTRichTextView第三方控件,虽然它是以类似HTML 的方式来形成富文本的,但是该控件在UITableView的列表显示性能表现相当糟糕,很容易就不显示完全或者压根就不显示,但是如果在 UITableView中使用UIWebView来显示的话,虽然富文本的目标可以达到,但是大家想想一个页面5,6个WebView会卡成什么样呢?

后来我找到了 RTLabel 这套控件,使用方法类似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客户端下载地址:http://www.oschina.net/uploads/osc.apk

OSC iPhone客户端下载地址:http://www.oschina.net/uploads/osc.ipa

OSC Windows Phone客户端下载地址:http://www.oschina.net/uploads/osc.xap

 

转载:http://www.oschina.net/question/213217_59127

 

 

你可能感兴趣的:(APP,oschina,技术解析,富文本列表)