安卓实现仿微信点赞好友昵称列表,中间用逗号隔开
要实现一个仿微信那样的点赞列表,显示好友的昵称,中间用逗号隔开,并且点击好友昵称跳转到好友的详情页或者实现其他的操作。效果图如下:
第一步:我们需要先定义一个view,去实现列表的显示和点击事件:
public class LikesView extends TextView {private Context mContext;private List<LikeBean> list;private int size;public LikesView(Context Context) {this(Context, null);}public LikesView(Context Context, @Nullable AttributeSet attrs) {this(Context, attrs, 0);}public LikesView(Context Context, @Nullable AttributeSet attrs, int defstyleattr) {super(Context, attrs, defstyleattr);mContext = Context;}/*** 设置点赞数据** @param list*/public void setList(List<LikeBean> list,int size) {this.list = list;this.size = size;}/*** 刷新点赞列表*/public void notifyDataSetChanged() {if (list == null || list.size() <= 0) {return;}SpannableStringBuilder builder = new SpannableStringBuilder();builder.append(setImageSpan()).append(" ");for (int i = 0; i < list.size(); i++) {// 我写的最多显示9个昵称,超过的就不显示了if (i > 9) {break;}LikeBean item = list.get(i);builder.append(setClickableSpan(item.getName(), item));// 昵称之间用逗号隔开,也可以定义其他符号,看心情咯if (i != list.size() - 1) {builder.append(" , ");} else {builder.append(" ");}}// 如果长度超过10个,就省略显示if (size > 10) {builder.append("等" + size + "个人点赞了");}setText(builder);setMovementMethod(new LinkMovementMethod());}/*** 设置用户名字点击事件** @param item* @param bean* @return*/public SpannableString setClickableSpan(final String item, final LikeBean bean) {final SpannableString string = new SpannableString(item);ClickableSpan span = new ClickableSpan() {@Overridepublic void onClick(View widget) {// TODO 这里写你的逻辑,处理昵称的点击事件}@Overridepublic void updateDrawState(TextPaint ds) {super.updateDrawState(ds);// 设置昵称的颜色ds.setColor(Color.parseColor("#3865A8"));ds.setUnderlineText(false);}};string.setSpan(span, 0, string.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);return string;}/*** 设置点赞图标** @return*/private SpannableString setImageSpan() {String text = " ";SpannableString imgSpanText = new SpannableString(text);// 这里是在点赞列表的最前面加上心形的图标,可以改成自己需要的imgSpanText.setSpan(new ImageSpan(getContext(), R.mipmap.blue_like,DynamicDrawableSpan.ALIGN_BASELINE),0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);return imgSpanText;}
第二步:控件定义好了,就可以开始使用了,先在布局里面写一下:
<LikesViewandroid:id="@+id/like_view"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="10dp"android:nestedScrollingEnabled="false"<!--设置字体直接的间隔--!>android:lineSpacingExtra="3dp" />
第三步:在activity中设置数据源并刷新列表:
LikesView mLikesView = findViewById(R.id.like_view); // 数据源类型可以自己根据实际要求去改变,我这里里面放了user_id,name,head_img_url List<LikeBean> mLikeList = new ArrayList(); mLikeList.add(new LikeBean("1","张三","")); mLikeList.add(new LikeBean("2","李四","")); mLikeList.add(new LikeBean("3","王五","")); // 我项目里并没有把所有的点赞好友返回过来,所以把size单独分开写了 mLikesView.setList(mLikeList , mLikeList.size()); mLikeView.notifyDataSetChanged();
第四步:这样子,就全部实现了,一个简单的好友点赞列表的实现。
安卓实现仿微信点赞好友昵称列表,中间用逗号隔开相关推荐
- Android(安卓)高仿微信朋友圈九宫格列表
目前基本复现微信的朋友圈的浏览效果 直接上效果图吧! 感觉不错的话多多支持吧 由于代码比较多,目前只将核心的适配器代码放出来,如果需要全部的话,下载源码吧,源码地址在最后 适配器代码: private ...
- android微信点赞ui,Android中使用PopupWindow 仿微信点赞和评论弹出
微信朋友圈的点赞和评论功能,有2个组成部分:左下角的"更多"按钮:点击该按钮后弹出的对话框: PopupWindow,弹出框使用PopupWindow实现,这是点赞和评论的载体,具 ...
- 【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表
*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 转载请标明出处: http://blog.csdn.net/zxt0601/article/details/52355199 本文 ...
- 仿微信朋友圈动态列表
仿微信朋友圈动态列表,如下图: Demo下载
- android仿微信点击好友,安卓开发仿微信联系人列表-机器人列表视图仿微通道聊天多久最底部滑动...
楼主你好!根据你的描述,让我给你答案! :新内容加进来,列表视图重新为setSelection后,定位结束后,拉起一个页面放. . 希望你能有所帮助,如果满意,请记得采纳像下拉条为微信好友如何实现 简 ...
- 安卓开发— —仿微信界面(一)
目录 一.项目内容 二.代码实现 1.项目结构 2.头部代码 3.底部代码 4.四个内容界面 5.窗体总布局 6.MainActivity实现点击图标与页面的互动 三.运行效果 四.总结 一.项目内容 ...
- 安卓开发仿微信图片拖拽_仿微信朋友圈发表图片拖拽和删除功能
原标题:仿微信朋友圈发表图片拖拽和删除功能 中国联通在香港公布了上市公司2017年中期业绩.2017年上半年,公司主要业绩指标持续向好,收入稳步回升,服务收入达到人民币1,241.1亿元,同比增长3. ...
- android使用popupwindow仿微信点赞功能
实现微信朋友圈的点赞功能,代码很简单,就是设置一个布局,然后使用popupwindow让这个布局显示出来就可以了 实现效果图: 1.主界面的布局就是一个listview,这里就不贴了,需要的话请自己补 ...
- 安卓开发仿微信图片拖拽_Android仿微信朋友圈图片浏览器(支持图片手势缩放,拖动)...
[实例简介] Android仿微信朋友圈图片浏览器(支持图片手势缩放,拖动) [实例截图] [核心代码] ImageDemo-2014-02-18 └── ImageDemo-2014-02-18 ├ ...
最新文章
- 大型ERP等数据库系统常见几种设计
- Github Actions 中 Service Container 的使用
- jQuery常用操作
- v4l打开video设备 ,执行VIDIOC_DQBUF,出现Resource temporarily unavailable 问题
- 再好的代码没有电也跑不了
- 基于模板的通用代码生成器LKGenerator(一)-发布和主要功能介绍
- BS结构中,web如何将数据进行DES加密并写道IC卡中
- 互联网项目文科程序员的自白
- Atitit 人员评价能力模型 目录 1.1. 深度、大局观、	1 1.2. 影响力, 影响力 分享	1 1.3. 业务洞察力 价值识别	1 1.4. 视野 战略和人才 专业	1 1.5.
- C#上使用Echarts做报表
- SPSS数据处理-数据整理
- 排队 (白雪公主与n个小矮人)
- 需要管理员权限才能删除文件夹
- kaggle TMDB5000电影数据分析和电影推荐模型
- 小米手机ROOT操作
- java瀑布图表,瀑布图的完美解决方案 [Excel图表]
- 经典PID学习感悟(一)-初步认知【比例kp】
- 大学生如何在网上赚零花钱,适合学生党可做的零花钱项目
- oracle 导出身份证号_oracle 根据身份证号计算出生日期
- c语言蚊香数组,蚊香的代码咋弄啊