当前位置: 移动技术网 > IT编程>移动开发>Android > Android实现朋友圈点赞列表

Android实现朋友圈点赞列表

2019年07月24日  | 移动技术网IT编程  | 我要评论

春色满江湖,见或不见简谱,ca1695

本文实例为大家分享了android朋友圈点赞列表的具体代码,供大家参考,具体内容如下

android实现朋友圈评论回复列表

android实现朋友圈点赞列表

android实现朋友圈多图显示功能

正文

效果图:

具体实现代码

likesview

public class likesview extends textview {

 private context mcontext;
 private list<userbean> list;

 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<userbean> list) {
 this.list = list;
 }

 /**
 * 刷新点赞列表
 */
 public void notifydatasetchanged() {
 if (list == null || list.size() <= 0) {
  return;
 }
 spannablestringbuilder builder = new spannablestringbuilder();
 builder.append(setimagespan());
 for (int i = 0; i < list.size(); i++) {
  userbean item = list.get(i);
  builder.append(setclickablespan(item.getusername(), item));
  if (i != list.size() - 1) {
  builder.append(" , ");
  } else {
  builder.append(" ");
  }
 }

 settext(builder);
 setmovementmethod(new circlemovementmethod(0xffcccccc, 0xffcccccc));
// setmovementmethod(linkmovementmethod.getinstance());
 }

 /**
 * 设置评论用户名字点击事件
 *
 * @param item
 * @param bean
 * @return
 */
 public spannablestring setclickablespan(final string item, final userbean bean) {
 final spannablestring string = new spannablestring(item);
 clickablespan span = new clickablespan() {
  @override
  public void onclick(view widget) {
  // todo: 2017/9/3 评论用户名字点击事件
  toast.maketext(mcontext, bean.getusername(), toast.length_short).show();
  }

  @override
  public void updatedrawstate(textpaint ds) {
  super.updatedrawstate(ds);
  // 设置显示的文字颜色
  ds.setcolor(0xff387dcc);
  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.img_like_icon, dynamicdrawablespan.align_baseline),
  0, 1, spannable.span_exclusive_exclusive);
 return imgspantext;
 }

}

附: circlemovementmethod , userbean 代码请到 android 朋友圈之评论回复列表 中获取,这里不重复添加。

用法

<com.lvfq.myworkingtest.dynamic.view.likesview
 android:id="@+id/likeview"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_margin="@dimen/dp_10"
 android:textsize="@dimen/sp_18" />

likeview = lvv.find(this, r.id.likeview);
likeview.setlist(data.getlikes());
likeview.notifydatasetchanged();

代码已整理到github

附:如果需要完整朋友圈项目的话,这里推荐一个 github 项目仿微信实现的朋友圈

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网