Android实现朋友圈点赞列表

本文实例为大家分享了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 项目仿微信实现的朋友圈

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

(0)

相关推荐

  • Android 仿微信朋友圈点赞和评论弹出框功能

    贡献/下载源码:https://github.com/mmlovesyy/PopupWindowDemo 本文简单模仿微信朋友圈的点赞和评论弹出框,布局等细节请忽略,着重实现弹出框.发评论,及弹出位置的控制. 1. 微信弹出框 微信朋友圈的点赞和评论功能,有2个组成部分: 点击左下角的"更多"按钮,弹出对话框: 点击评论,弹出输入框,添加评论并在页面中实时显示: 微信朋友圈点赞和评论功能 2. 实际效果 本文将建一个 ListView,在其 Item 中简单模仿微信的布局,然后着重实现

  • Android PraiseTextView实现朋友圈点赞功能

    PraiseTextView 说明 我是将朋友圈分成了几个独立模块单独自定义的View,通过回调完成交互,耦合性算是非常低了,主要有以下及部分: 1.评论布局(自定义TextView) CommentListTextView Lu_PingLunLayout 2.点赞布局(原理和评论的自定义TextView一样,都是用的SpannableString) PraiseTextView 3.图片列表(出门右转,理论上没有数量限制,和listView配合使用也很好,缓存也自己处理了) MultiIma

  • Android实现朋友圈点赞列表

    本文实例为大家分享了Android朋友圈点赞列表的具体代码,供大家参考,具体内容如下 Android实现朋友圈评论回复列表 Android实现朋友圈点赞列表 Android实现朋友圈多图显示功能 正文 效果图: 具体实现代码 LikesView public class LikesView extends TextView { private Context mContext; private List<UserBean> list; public LikesView(Context cont

  • Android实现朋友圈评论回复列表

    本文实例为大家分享了Android实现朋友圈评论回复列表的具体代码,供大家参考,具体内容如下 Android实现朋友圈评论回复列表 Android实现朋友圈点赞列表 Android实现朋友圈多图显示功能 正文 还是老流程,先来看一下效果图: 然后是主要实现代码: CommentsView public class CommentsView extends LinearLayout { private Context mContext; private List<CommentsBean> mD

  • Android实现朋友圈多图显示功能

    本文实例为大家分享了Android实现朋友圈多图显示的具体代码,供大家参考,具体内容如下 Android实现朋友圈评论回复列表 Android实现朋友圈点赞列表 Android实现朋友圈多图显示功能 正文 先看一下效果图: MultiImageView: public class MultiImageView extends LinearLayout { public static int MAX_WIDTH = 0; // 照片的Url列表 private List<String> imag

  • Android仿微信朋友圈点赞和评论功能

    最近在做朋友圈的项目,所以写一个Android仿朋友圈点赞和评论功能Demo,代码就是简单实现了一下功能,没有做优化,凑合看 图文排列是用的RecyclerView实现的,弹窗效果是用的自定义的PopupWindow,点赞应该是在本地请求数据库,设置一个flag,获取当前用户的id后,带着id向服务器post一个flag,评论就比较简单了,也是获取当前朋友id(或者昵称),带着内容,向服务器post 贴代码: package com.example.lenovo.dianzandemo; imp

  • 我也有微信朋友圈了 Android实现

    本文实例分享了一个简单的朋友圈程序,包含了朋友圈的列表实现,视频的录制.预览与上传,图片可选择拍照,供大家参考,具体内容如下 FriendsListActivity  代码如下 public class FriendsListActivity extends BaseActivity implements OnRefreshListener<ListView>, PostListener { private InteractionAdapter mAdapter; private PullTo

  • android实现多图文分享朋友圈功能

    很多安卓程序员都在寻找如何调用系统分享可以实现朋友圈多图加文字分享的功能,小编经过测试入坑后,为你整理以下内容: private void shareMultiplePictureToTimeLine(File... files) { Intent intent = new Intent(); ComponentName comp = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTim

  • Android 仿微博的点赞功能的实现原理(持续点赞再取消)

    产品需求,实现类似微博的持续点赞再取消功能,因为自己也偶尔刷微博,对这功能有一定的使用上的了解, 至于微博点赞的具体实现我并不知道,微博点赞在断网的情况下依然能点赞,不会提示网络异常,等有网络之后 重新刷新,实际是没有点赞的,那就针对这现象去实现吧. 避免并发,减少CPU压力,我个人会想到 HandlerThread ,不懂可以自行科普,这里只说我实现的点赞功能原理. private Timer mTimer;//定时器 private TimerTask mTask; mMap = new H

  • Vue.js实现模拟微信朋友圈开发demo

    我用Vue.js实现微信朋友圈的一些功能,实现展示朋友圈,评论,点赞. 先构造一个vue的实例,对会更改的数据进行双向绑定, 我用JSON伪造模版数据,先实现显示朋友圈的效果,使用v-for方法去循环ALLFeeds中的每一项item生成包括name.content.time在内的各项数据. 微信朋友圈实现效果 HTML代码: <div class="border" v-for="item in AllFeeds" track-by="$index&

随机推荐