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

junwong 发布于 2012/06/26 15:29
阅读 2K+
收藏 7

大家都知道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

加载中
1
阿酷
阿酷

引用来自“junwong”的答案

基本除了iOS以外,Android以及WP7 SDK都支持原生的富文本控件
为什么代码都没有格式化?
junwong
junwong
不好意思 刚刚修改
0
junwong
junwong
基本除了iOS以外,Android以及WP7 SDK都支持原生的富文本控件
0
faluo888
faluo888
原来Android的那个是TextView?我还以为是ListView,然后通过xml画的界面呢。(我小白...)
0
shikeaiDev
shikeaiDev
原来是TextView。 的确很节省效率,比用listview高了招。 但是考虑过如何添加音乐,图片,video等元素的richtextview,就像evernote那样?
返回顶部
顶部