1 点赞内容添加

 /*** 点赞人布局(默认最多显示10个人)** @param voteUsers*/public void setVoteStr(View llVoteView, TextView tvVoteView, final List<CountrySideInfo.VoteUser> voteUsers) {StringBuilder stringBuilder = new StringBuilder();stringBuilder.append("dz");//点赞图片占位if (voteUsers == null || voteUsers.size() == 0) {llVoteView.setVisibility(View.GONE);return;}llVoteView.setVisibility(View.VISIBLE);String endApend = "等" + voteUsers.size() + "人觉得很赞";for (int i = 0; i < voteUsers.size(); i++) {if (i == 0) {stringBuilder.append(voteUsers.get(i).vcNickName);} else {stringBuilder.append("," + voteUsers.get(i).vcNickName);if (i == 9) {stringBuilder.append(endApend);break;}}}String voteStr = stringBuilder.toString();SpannableString spannableString = new SpannableString(voteStr);Drawable drawable = mContext.getResources().getDrawable(R.mipmap.icon_dtdz);//点赞图片赞的小手drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());ImageSpan span = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);spannableString.setSpan(span, 0, "dz".length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);int appendLength = 2;if (voteUsers.size() > 9) {spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#536697")), spannableString.length() - endApend.length(), spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);}for (int i = 0; i < voteUsers.size(); i++) {if (i == 10) {break;}final int finalI = i;MyClickableSpan clickableSpan = new MyClickableSpan() {@Overridepublic void onClick(View widget) {onVoteNameClickListener.onVoteNameClick(voteUsers.get(finalI).nUserId);}};int endLength = appendLength + voteUsers.get(i).vcNickName.length();spannableString.setSpan(clickableSpan, appendLength, endLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);appendLength = endLength + 1;}tvVoteView.setMovementMethod(LinkMovementMethod.getInstance());tvVoteView.setText(spannableString);}

2 点赞人点击事件添加

    class MyClickableSpan extends ClickableSpan {@Overridepublic void updateDrawState(TextPaint ds) {ds.setUnderlineText(false);//下划线,不要ds.setColor(Color.parseColor("#536697"));//文字颜色}@Overridepublic void onClick(View widget) {}}

3 点击事件监听添加

countrySideAdapter.setOnVoteNameClickListener(NameID -> {Intent intent = new Intent(activity, PersonalHomeActivity.class);intent.putExtra("userId", NameID);startActivity(intent);});public interface OnVoteNameClickListener {void onVoteNameClick(String NameID);
}

TextView设置SpannableString 添加图片和点击事件(仿微信点赞列表)相关推荐

  1. Android 动态添加标签及其点击事件

    在做Android开发的时候,会遇到动态添加标签让用户选择的功能,所以自己写了个例子,运行效果图如下. 标签可以左右滑动进行选择,点击的时候,会弹出toast提示选择或者取消选择了哪个标签.通过动态添 ...

  2. 使用GridView实现仿微信发朋友圈添加图片,点击预览、删除图片

    最近在项目中有一个用户反馈的功能中要上传图片,和微信发朋友圈添加图片的功能其实有点类似,所以我想着用GridView来实现这个功能,整个过程也很简单,画不多说,详细步骤见下: 1.先来看MainAct ...

  3. android html图片点击事件,TextView加载html图片并点击放大

    实际上android中的textview是提供了加载html代码的功能的,使用的方法也很简单 textView.setText(Html.fromHtml("html",null, ...

  4. Qt设置按钮背景图片,点击不显示背景

    Qt设置按钮为图片样式方法 资源中准备两张不同颜色的图片,qtcreator中右键按钮,选择Change styleSheet,输入如下代码: QPushButton{image: url(:/new ...

  5. 安卓java代码标签_Android实现动态添加标签及其点击事件

    在做Android开发的时候,会遇到动态添加标签让用户选择的功能,所以自己写了个例子,运行效果图如下. 标签可以左右滑动进行选择,点击的时候,会弹出toast提示选择或者取消选择了哪个标签.通过动态添 ...

  6. android listview里item添加一个按钮点击事件,ListView Item点击事件跳转详情界面

    有好久都没有碰安卓了,考试加五一双组合也真是让人蛋疼.好在都平安的度过了,所以又有时间gun回来弄弄我的小博客(虽然没多少人看= =).看了之前做的几个小demo,模式都差不多,但是每次写的时候都要在 ...

  7. android span 下划线,Android TextView实现部分文字(超链接/Span)点击事件、变色、去除下划线...

    马上8月结束了,深海决定写点东西分享给大家,祝各位程序猿身体健康万事如意. 废话不多说,直接上图: 如图中蓝色文字的效果,需求如下: 1,点击跳转到另一个页面 2.去除下划线 3.颜色自定义 第一步: ...

  8. 添加li标签点击事件,删除当前点击li标签

    1.创建一个 HTML 文件 2.在html中写ul标签,给ul标签设置id,在ul标签里面写三个li标签,在li标签里面写任意文本内容 3.在html中写一个button按钮给按钮设置一个id,设置 ...

  9. ios手机 苹果手机 在小程序里面长按图片 后 点击事件失效问题

    问题:ios手机 苹果手机 在小程序里面长按图片后,图片悬浮,然后点击事件都失效的问题. 解决办法:在img图片标签里加 css属性 -webkit-touch-callout: none; .如果是 ...

最新文章

  1. ios开发学习-网络(Networking) 效果源码分享--系列教程
  2. POJ 1321 棋盘问题 题解
  3. release 无法打开windows.h vs_Windows 10 Build 21270发布:Cortana新增打开/搜索文件技能...
  4. 输入 ng build 或者 ng serve 之后没有任何输出的问题分析
  5. 工作184:自定义事件
  6. 开机一直转圈_电脑开机后网络一直转圈,程序也打不开?
  7. lvds接口屏线安装图解_五分钟让你学会液晶拼接屏安装方法
  8. Spark入门必读:核心概念介绍及常用RDD操作
  9. 使用 Laravel sharedLock 与 lockForUpdate 进行数据表行锁
  10. dxf转nc代码软件_Window绝赞的6款软件,效率加班党必备,快到惊人!
  11. 美元指数DXY短线走高10逾点,现报90.77
  12. 云服务和硬件成微软业绩新增长点
  13. 前端学数据库之子查询
  14. 32位/64位机上常用数据类型字节数(C语言)
  15. H5中启动Android app
  16. C语言除法运算符“/”和求余运算符“%”
  17. httpclient基本get用法
  18. Oracle 12C Sharding部署和测试
  19. jmeter里看java的log,jmeter中java协议请求
  20. 《浮图秀》如何优雅查看B站视频封面大图?

热门文章

  1. Spring Security和Angular教程
  2. 浏览器输入一个URL地址后发生的事情
  3. 项目管理办公室——PMO
  4. 如何检测本计算机耗电量,如何查看我的电脑到底费不费电?
  5. R语言——read.table;read.csv(读取外部数据)
  6. 可可直播电视---开通官网
  7. 读取工程下的文档 统计重复的姓名 并按次数排序 java_java并打印出重复的姓名和重复的次数,并按重复次数排序...
  8. AirServer2022苹果安卓手机屏幕如何投影到电脑上面
  9. 鸵鸟腿“半兽人”已学会跟踪避障,可自主移动到安全距离
  10. “左眼跳财、右眼跳灾”----科学解释