代码:

/*** 设置指定字体高亮** @return CharSequence型字符串*/
public static CharSequence getHighLightText(Context context, String text, String keyword) {SpannableStringBuilder style = new SpannableStringBuilder(text);if (!keyword.isEmpty()) {int base = 0;//基准index,表示每一次进行字符串截取之后,新字符字符串的开始index相对于text原始字符串的位置int start;do {Log.i("getHighLightText", "现在的text:" + text);start = text.indexOf(keyword);int end;if (start >= 0) {end = start + keyword.length();style.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.colorHighLightText)),base + start, base + end,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);text = text.substring(end);base += end;}} while (start >= 0 && text.length() > 0);}return style;
}

在页面中对应的textview设置text:

textView.setText(getHighLightText(context, text, keyword));

效果:

Android——TextView指定字符串颜色高亮,实现类似微信、支付宝搜索结果中搜索字段高亮的效果相关推荐

  1. android TextView设置字体颜色

    今天,简单讲讲如何设置TextView的字体颜色. 其实很简单,不过之前忘记了,所以还是记录,总结一下. TextView的字体设置方法: 1.直接通过配置文件设置 2.在Activity类中进行设置 ...

  2. Android 验证码和密码输入框,能自定义输入框个数和样式(连体,下划线和方形框) 类似微信支付宝的密码输入框等

    MNPasswordEditText 项目地址:maning0303/MNPasswordEditText  简介: Android 验证码和密码输入框,能自定义输入框个数和样式(连体,下划线和方形框 ...

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

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

  4. Android 辅助功能(无障碍)自定义开发类似微信抢红包插件

    背景: 通常在无人值守的Android智能设备或不能触摸交互的设备中,当系统运行异常时, 系统有可能会弹出应用程序无响应(ANR)对话框,提示是否终止当前进程或等待,或应用程序异常退出时系统偶尔也会有 ...

  5. 类似微信支付宝密码控件

    NumberCodeView 一个类似微信支付和支付宝支付的时候输入密码面板的控件. 使用方式 普通样式 正常情况下,你可以把控件的声明写到你的 '.xml' 文件里面. <com.lkp.nu ...

  6. android TextView超链接设置颜色

    因为在做一个项目要对文本解析,找出文本中的url.电话.email.地址.等.用系统默认的autolink autolinktextcolor只能统一设置超链接颜色,不能动态的实现各个Span绘制颜色 ...

  7. Android TextView autoLink 改变颜色,去掉link下划线

    更改颜色:xml中使用textColorLink属性 删除下划线:自定义一个继承UnderlineSpan 的子类,重写updateDrawState方法在其中处理 xml界面代码: <andr ...

  8. android textview获取背景颜色,android – 从textview获取背景颜色而不使用ColorDrawable(API 11)...

    试试这个- public static int getBackgroundColor(TextView textView) { ColorDrawable drawable = (ColorDrawa ...

  9. Android textView文字渐变色设置

    Android textView文字渐变色设置 方式一: private void setGradientColor() {int[] colors = {Color.parseColor(" ...

最新文章

  1. Learn Java - Chapter 1 变量(Variables)-数组(Arrays)
  2. MySQL优化篇:IN VS EXISTS
  3. nginx rewrite 参数和例子
  4. hdu1.3.4 排序
  5. Tomcat集群快速入门:Nginx负载均衡配置,常用策略,场景及特点
  6. ROADS POJ - 1724(限制条件的最短路)【邻接表+深搜】
  7. 【STM32】修改芯片型号后报 Error 的解决方案
  8. 关于SQL的基础语法(一)
  9. mariadb安装_MariaDB CentOS 安装的时候如何确定 Repo 地址
  10. atitit.html5 vs 原生 app的区别与选择
  11. C# WPF中用ChartControl绘制柱形图
  12. bootice添加linux_用BOOTICE工具在U盘上实现SYSLINUX与GRUB4DOS双启动 - 图文
  13. 文华财经期货K线多周期画线技术,多重短线技术共振通道线指标公式——多周期主图自动画线
  14. 记录在训练深度学习算法过程中遇到的问题及解决办法。持续更新中....
  15. Milvus 2.1 版本更新 - 简单可信赖、性能持续提升
  16. 苹果历代产品中的8大亮点设计(上)
  17. ADSL 登陆账号密码嗅探器
  18. 微软推送win11 22622.575补丁!
  19. SEO优化是什么意思,如何理解并学好它
  20. 吉林大学计算机科学郝琳琳,胡亮-吉林大学计算机科学与技术学院

热门文章

  1. 计算机图像处理要学什么软件有哪些,电脑中常用的图像处理软件有哪些
  2. 新建Application 报错android.app.Application cannot be cast
  3. Vim 为什么把 HJKL 当作光标键?
  4. 【渝粤教育】国家开放大学2019年春季 2444酒店管理概论 参考试题
  5. 008 怎么取消隐藏文件扩展名
  6. 大屏可视化简介(echarts)
  7. 华为S9306交换机版本升级及补丁安装步骤
  8. /usr/bin/ld: /tmp/ccIHWHTn.o: in function `Cdisk::Cdisk()‘:编译报错解决方案
  9. org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
  10. idea单测覆盖率不显示的问题