1.

定义 SpannableStringBuilder

SpannableStringBuilder builder = new SpannableStringBuilder();
复制代码

2.

调用 SpannableStringUtils中的相应方法

SpannableStringUtils.addColorTextWithClickEvent(R.color.dynamic_detail_recomment_name_color,builder,bean.getReply_name()+":  ",new SpannableStringUtils.OnTextClickListener(){@Overridepublic void onClick() {mReplay.onUserClickListener(bean.getReply_uid());}});
复制代码

3.

把最后的Builderset进去

tvComment.setText(builder);
复制代码

4.

下面是对应的工具类大家复制即可,其中BaseApplication是应用的Application实例

public class SpannableStringUtils {//添加指定颜色的文字到spannable中public static void addColorTextToMsg(int color, SpannableStringBuilder spsBuilder, String content){SpannableString contentSps = new SpannableString(content);contentSps.setSpan(new ForegroundColorSpan(color), 0,content.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);spsBuilder.append(contentSps);}public static void addColorTextWithClickEvent(final int color, SpannableStringBuilder spsBuilder, String content, final OnTextClickListener onTextClickListener){SpannableString contentSps = new SpannableString(content);
//        contentSps.setSpan(new ForegroundColorSpan(color), 0,content.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);contentSps.setSpan(new ClickableSpan() {@Overridepublic void updateDrawState(TextPaint ds) {super.updateDrawState(ds);ds.setColor(BaseApplication.getInstance().getResources().getColor(color));ds.setUnderlineText(false);      //设置下划线}@Overridepublic void onClick(View widget) {onTextClickListener.onClick();}}, 0,content.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);spsBuilder.append(contentSps);}public interface OnTextClickListener{void onClick();}
}
复制代码

转载于:https://juejin.im/post/5b4c0de76fb9a04fb136d548

TextView显示不同颜色的文本,及文本变色可点击工具类相关推荐

  1. TextView显示html信息、在文本下面添加下划线、中划线、设置图片

    1,在文本下面添加下划线 tv.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); 2,在文本设置中划线并加清晰 tv.getPaint().setFlag ...

  2. 浅谈ClickableSpan , 实现TextView文本某一部分文字的点击响应

    超文本:http://www.baidu.com 这么一个效果:一行文本当中 前面显示黑色颜色的"超文本:",后面显示红色颜色的"http://www.baidu.com ...

  3. android html 字体颜色代码,Android TextView通过解析html显示不同颜色和大小

    先贴一张效果图 效果 介绍 通过SpannableString.SpannableStringBuilder可以很方便的给TextView加上各种各样的样式,比如不同的颜色和大小,这里就不多说了,具体 ...

  4. Andoid TextView显示富文本html内容及问题处理

    目录 富文本内容与效果 TextView + Html ImageGetter 处理图片(表情) TagHandler 处理html内容的节点 Html的转换过程 HtmlToSpannedConve ...

  5. android中TextView分段显示不同颜色,字体,时间

    例子1: 设置部分文字背景高亮显示: Java代码 public class HighLightActivity extends Activity {           String strs=&q ...

  6. AndroidRichText 让Textview轻松的支持富文本(图像ImageSpan、点击效果等等类似QQ微信聊天)...

    代码地址:https://github.com/Luction/AndroidRichText AndroidRichText帮助实现像QQ,微信一样的,一个TextView里既有文字又有表情又有图片 ...

  7. 查询mysql 中的空文本_MySQL查询以显示空列的自定义文本

    让我们首先创建一个表-mysql> create table DemoTable -> ( -> FirstName varchar(20) -> ); 使用插入命令在表中插入 ...

  8. html文本框光标位置,html的文本框显示光标 如何在htmlText文本框光标处插入字符...

    HTML 如何设置文本框中光标位置和光标居中 我写样式,把文本框的宽度加大了.但是光标位置在上面. html怎么让文本框的光标出现在内容最后 HTML如何在打开页面时将光标定位在某个文本框 HTML5 ...

  9. EXCEL表格 显示 超长 数字 E+ 变成 文本格式,数字全部显示

    EXCEL表格 显示 超长 数字 E+ 变成 文本格式,数字全部显示 选中整列,数据-->分列-->固定列宽度(第二项)-->-->下一步-->下一步-->文本-- ...

最新文章

  1. matlab处理abaqus_Abaqus/用Abaqus进行参数分析(python+maltab助攻)
  2. 深度学习总结:pytorch构建RNN和LSTM,对比原理图加深理解
  3. 网络协议从入门到底层原理(5)传输层(UDP、TCP - 可靠传输、流量控制、拥塞控制、建立连接、释放连接)
  4. pytorch/tensorflow 查看 cuda 是否可用
  5. 阿里AI解锁车场景:达摩院技术输出,天猫精灵进驻奔驰、奥迪和沃尔沃
  6. Java高并发之设计模式,设计思想!
  7. 15. 发货选项(Shipping Options)
  8. MySQL数据库增删改查(基础操作命令详解)
  9. 【日语】日语一级句型强记
  10. 论文阅读 | Combating Adversarial Misspellings with Robust Word Recognition
  11. win10开始键没反应解决方法
  12. 2020,感恩陪伴;2021,指令集愿与您同行
  13. ASimpleCache开源缓存框架使用之实现抽签小程序
  14. Matlab逆向归纳法,6.完全信息动态博弈—逆向归纳法和子博弈完美均衡.ppt
  15. 字节跳动/今日头条校招大礼包 2019年校招大礼包
  16. WPF+WCF一步一步打造音频聊天室(二):文字聊天和白板共享
  17. Android-涂鸦板
  18. Beyond Compare v3.3.13 中文版
  19. 10月28日 考研英语学习任务
  20. 第六、七章 嵌入式Linux开发

热门文章

  1. QuartZ Cron表达式详解
  2. 分享成为高效程序员的7个重要习惯
  3. JavaScript 内置对象(二):Date 对象(构造函数、属性和方法)
  4. LDA-math-神奇的Gamma函数
  5. 循环神经网络(RNN, Recurrent Neural Networks)介绍
  6. Python计算机视觉:安装
  7. 如何查阅资料,解决问题(个人的小看法)
  8. 支持向量机SVM(四)
  9. nodejs 日志规范
  10. 欧几里得及扩展欧几里得算法