哈哈,通过VIP标志看到赵薇是冒牌的,李开复和冯小刚是正品。
##之间的内容是代表一个话题,@和:之间的是转发这条微博的人,也高亮显示,||代表上一次转发此微博的。url地址也高亮显示。
这个是什么组件啊?是TextView,不会吧?TextView能显示图片吗?肯定能呀。
主要是用到了SpannableString,ForegroundColorSpan,ImageSpan这3个类.
String origtext = data.getString("origtext");
SpannableString spannable = new SpannableString(origtext);
spannable = TextUtil.decorateFaceInStr(spannable, RegexUtil.getStartAndEndIndex(origtext, Pattern.compile("\\/[\u4e00-\u9fa5a-zA-Z]{1,3}")), getResources());//解析成本地表情
spannable = TextUtil.decorateRefersInStr(spannable, RegexUtil.getStartAndEndIndex(origtext, Pattern.compile("@.*:")), getResources());//高亮显示微薄转发,回复者昵称
public static List<Map<String,Object>> getStartAndEndIndex(String sourceStr,Pattern pattern){
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
Matcher matcher = pattern.matcher(sourceStr);
boolean isFind = matcher.find();
while (isFind) {
Map<String,Object> map = new HashMap<String, Object>();
String faceName = matcher.group().substring(1,matcher.group().length());//表情名称
map.put("startIndex",matcher.start());
map.put("endIndex",matcher.end());
map.put("faceName",faceName);
list.add(map);
isFind = matcher.find((Integer)map.get("endIndex")-1);
}
return list;
}
public static SpannableString decorateVipInStr(SpannableString spannable,List<Map<String,Object>> list,Resources resources){
int size = list.size();
Drawable drawable = null;
if(list!=null&&list.size()>0){
for(int i=0;i<size;i++){
Map<String,Object> map = list.get(i);
drawable = resources.getDrawable(R.drawable.vip);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
ImageSpan span = new ImageSpan(drawable,ImageSpan.ALIGN_BASELINE);
spannable.setSpan(span, (Integer)map.get("startIndex"), (Integer)map.get("endIndex"), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
return spannable;
}
public static SpannableString decorateTopicInStr(SpannableString spannable,List<Map<String,Object>> list,Resources resources){
int size = list.size();
Drawable drawable = null;
CharacterStyle foregroundColorSpan=new ForegroundColorSpan(Color.argb(255, 33, 92, 110));
if(list!=null&&list.size()>0){
for(int i=0;i<size;i++){
Map<String,Object> map = list.get(i);
spannable.setSpan(foregroundColorSpan, (Integer)map.get("startIndex"), (Integer)map.get("endIndex"), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
return spannable;
}
- 大小: 54.9 KB
- 大小: 62.7 KB
- 大小: 9.8 KB
分享到:
相关推荐
Android腾讯微博客户端开发
腾讯微博客户端在请求用户授权时,会涉及Android的Manifest文件配置、运行时权限检查以及相应处理策略。 七、推送通知 为了及时提醒用户新消息,客户端通常会集成腾讯的SDK实现消息推送。这涉及到服务注册、消息...
总的来说,腾讯微博客户端源码是一个全面的学习资源,涵盖了客户端开发的各个方面,从基础的UI设计到复杂的网络通信,再到数据管理和用户认证。通过深入研究这些源码,开发者能够提升自己的专业技能,更好地理解和...
本篇文章将基于提供的"移动应用Android 腾讯微博客户端源码"进行深入解析,揭示其背后的设计理念、技术架构以及实现细节,为Android开发人员提供宝贵的参考资料。 首先,我们需要理解Android应用的基本结构。一个...
12:android美化方面关于selector的使用 13:简单动画的使用 14:广播接收器BroadCastReceiver接收腾讯授权码的应用. 15:腾讯Oauth认证的使用(新浪的,人人的,淘宝的开放API也是基于这个的,版本不同可能) 16:...
【标题】"Android 腾讯微博客户端源码1.rar" 涵盖了Android平台上腾讯微博客户端应用程序的源代码,这是一个深入理解Android应用开发、社交网络集成以及腾讯微博API使用的宝贵资源。在这个源码中,我们可以看到如何...
《Android仿腾讯微博客户端开发详解》 在移动互联网飞速发展的今天,社交应用已经成为人们日常生活中不可或缺的一部分。作为中国主流的社交媒体平台,腾讯微博在移动端的重要性不言而喻。本篇将详细介绍如何在...
本文档是关于Android 腾讯微博客户端的设计与实现的毕业论文,论文主要介绍了 Android 腾讯微博客户端的开发过程,包括需求分析、系统设计、代码实现和功能测试等方面的内容。 在背景意义部分,论文首先介绍了腾讯...
android腾讯微博客户端源码,功能基本齐全。
总结,这个话题涵盖了腾讯微博客户端的使用、一个可能开源的Android应用以及关于源代码和技术工具的讨论。通过提供的博文链接,我们可以深入了解更多关于这个客户端的细节,如其工作原理、功能实现以及如何利用源...
通过对"android 腾讯微博客户端"源代码的深入学习,开发者不仅能掌握Android应用开发的基础知识,还能了解到如何与第三方服务集成,以及实现一个完整的社交应用。这对于提升Android开发技能和理解实际项目开发流程...
其中,"腾讯微博客户端"是指一个应用,它允许用户在Android设备上访问和使用腾讯微博的服务,而"认证源代码"则指的是实现用户登录验证功能的代码部分。 【描述分析】 描述中提到"Android的腾讯微博客户端认证源代码...
本次我们关注的是"Android腾讯微博客户端源码",这是一份可以帮助开发者深入了解腾讯微博客户端实现细节的宝贵资源。通过对这份源码的学习,我们可以了解到如何构建一个功能完备、用户友好的社交应用。 首先,从...
9. **用户认证**:腾讯微博客户端必然包含用户登录和认证机制,这可能涉及到OAuth或Token的使用,以及如何安全地存储用户凭据。 10. **社交功能实现**:客户端的发布、转发、评论、点赞等功能的实现,需要理解如何...
在Android应用开发中,腾讯微博客户端的构建是一个典型的案例,涉及到许多高级技术和设计模式。本篇文章将聚焦于如何利用FootView来实现ListView的滑动动态效果,这在提供用户友好的交互体验上至关重要。 首先,...
【腾讯微博Android客户端开发】是一门深入探讨如何构建Android平台上腾讯微博应用的课程,涵盖了从基础知识到高级技术的完整开发流程。这门课程旨在帮助开发者理解Android应用开发的基本原理,特别是针对社交媒体...