91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android實現朋友圈點贊列表

發布時間:2020-08-23 17:11:43 來源:腳本之家 閱讀:193 作者:發強 欄目:移動開發

本文實例為大家分享了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 項目仿微信實現的朋友圈

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

商城县| 常熟市| 丰顺县| 项城市| 新兴县| 当雄县| 都江堰市| 靖远县| 若羌县| 日土县| 乐业县| 长宁区| 汉阴县| 海口市| 特克斯县| 阆中市| 北海市| 工布江达县| 高碑店市| 龙山县| 中卫市| 霍林郭勒市| 县级市| 承德县| 望城县| 锦屏县| 博乐市| 永善县| 丰顺县| 遵义市| 万全县| 山东省| 温泉县| 报价| 沈阳市| 丰顺县| 井研县| 鹤庆县| 乌鲁木齐市| 丽水市| 新昌县|