因为在做一个项目要对文本解析,找出文本中的url、电话、email、地址、等。用系统默认的autolink autolinktextcolor只能统一设置超链接颜色,不能动态的实现各个Span绘制颜色的不同,因为文本是不固定的,所以Span位置和数量就不能确定,也就不可能预先配置颜色。下面是解决方法,动态设置不同span颜色:
//创建一个 SpannableString对象
注意:不要在xml配置android:autoLink属性
SpannableString sp = new SpannableString(str);
//这句很重要,也可以添加自定义正则表达式
Linkify.addLinks(sp,Linkify.ALL);
//主要是获取span的位置
URLSpan[] spans = sp.getSpans(0, str.length(), URLSpan.class);
//这里可以用过循环处理就可以动态实现文本颜色的差别化了
//设置高亮样式一
sp.setSpan(new ForegroundColorSpan(Color.RED), sp.getSpanStart(spans[0]), sp.getSpanEnd(spans[0]), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置高亮样式二
sp.setSpan(new ForegroundColorSpan(Color.YELLOW), sp.getSpanStart(spans[1]), sp.getSpanEnd(spans[1]), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//设置斜体
sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//SpannableString对象设置给TextView
textview.setText(sp);
//设置TextView可点击
textview.setMovementMethod(LinkMovementMethod.getInstance());

android TextView超链接设置颜色相关推荐

  1. Android也行5view斜体,Android TextView同时设置粗体和斜体

    Android TextView同时设置粗体和斜体 效果图 问题 TextView的粗体和斜体无法同时生效,要么显示斜体,要么显示粗体. 错误代码: tv_test3.setTypeface(Type ...

  2. 输入框超链接_如何为文字、形状、图片添加超链接?如何为超链接设置颜色?...

    你知道如何为PPT中的文字.形状.图片添加超链接吗?那么,你又知道如何设置超链接的颜色吗?接下来小编就来仔细的讲解一下吧~看图思路更清晰哦! 如何为PPT中的文字.形状.图片添加超链接? 为文字添加超 ...

  3. html超链接图片下 加文字颜色,如何为文字、形状、图片添加超链接?如何为超链接设置颜色?...

    你知道如何为PPT中的文字.形状.图片添加超链接吗?那么,你又知道如何设置超链接的颜色吗?接下来小编就来仔细的讲解一下吧~看图思路更清晰哦! 如何为PPT中的文字.形状.图片添加超链接? 为文字添加超 ...

  4. Android TextView同时设置粗体和斜体

    Android TextView同时设置粗体和斜体 效果图 问题 TextView的粗体和斜体无法同时生效,要么显示斜体,要么显示粗体. 错误代码: tv_test3.setTypeface(Type ...

  5. 记录Android TextView在设置ellipsize时出现空白的问题

    记录Android TextView在设置ellipsize时出现空白的问题 2021-8-23 设置android:maxLine="1",会导致textView后面有一段空白, ...

  6. android textview获取背景颜色,Android TextView背景颜色与背景图片设置

    Android TextView 背景颜色与背景图片设置,android textview 控件,android textview 背景, android textview 图片,android te ...

  7. Android TextView 属性设置

    2019独角兽企业重金招聘Python工程师标准>>> android textview xml 属性设置 android:ems 设置TextView的宽度为N个字符的宽度. an ...

  8. android字体链接,Android TextView内容设置超链接、颜色、字体

    给双引号中的内容加彩色: private void highlightSearchHint(Spannable hintSpan){ String hint = hintSpan.toString() ...

  9. Android TextView 文字设置不同字体大小和颜色样式

    在TextView中,由于开发需求,需要显示不同的字体形状和颜色,所以这就需要利用不同的样式来显示了 查找相关资料发现 有api可以提供 SpannableString 就可以对一段文字设置不同的显示 ...

最新文章

  1. Lumen、Laravel开发问题记录
  2. 对Java单例模式 volatile关键字作用的理解
  3. wpa_supplicant 详解(9) - 4 way handshake
  4. 解决IDEA中maven工程的jsp、jstl依赖导入了 ,但是 jsp页面的uri却不提示(手动输上也报红)
  5. MyBatis复习(五):获取多表关联查询结果
  6. 使用Rich Edit控件
  7. [转载] Python:Numpy详解
  8. Socket 编程实战
  9. 数据分析/数据挖掘/机器学习---- 必读书目
  10. Allow CORS: Access-Control-Allow-Origin插件安装与使用教程【Chrome插件小白式教程】
  11. VBA一招解决宏病毒
  12. 3D数学基础与三维渲染
  13. Java实现复杂邮件发送(支持附件、支持多收件人、多抄送人、多密送人)
  14. 期末复习—计算机组成原理—计算机的分类
  15. oracle drop怎么用,Oracle Drop Table
  16. 为什么安装MathType无法复制粘贴
  17. 微信小程序全方位深度解析课程Dome-First项目module
  18. dfuse SQE 结构化查询引擎发布:颠覆 Web 3.0 开发
  19. html 实现3d效果代码,CSS3 3D环境实现立体 魔方效果代码
  20. 小学生python编程写游戏_小学生C++趣味编程上下全2册+Python少儿趣味编程适合6-12岁儿童编程教程中小学生计算机程序设计创意零基础游戏编程书籍DK...

热门文章

  1. Apollo学习之定位(一)——激光雷达定位
  2. 图书浏览界面html代码,图书系统HTML模版
  3. 北风吹战鼓雷(实验平台的搭建)1
  4. 如何进行稳定性测试????
  5. 第一天校内实训实习日志
  6. 台式计算机连不上网,台式电脑连接不上网络怎么办
  7. Qcom平台 ADV7533 调试指南
  8. 未来五年,哪个行业最值得创业?
  9. 解决系统上禁止运行脚本
  10. 《商用密码应用与安全性评估》第一章密码基础知识1.6密钥交换协议