Android——TextView指定字符串颜色高亮,实现类似微信、支付宝搜索结果中搜索字段高亮的效果
代码:
/*** 设置指定字体高亮** @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指定字符串颜色高亮,实现类似微信、支付宝搜索结果中搜索字段高亮的效果相关推荐
- android TextView设置字体颜色
今天,简单讲讲如何设置TextView的字体颜色. 其实很简单,不过之前忘记了,所以还是记录,总结一下. TextView的字体设置方法: 1.直接通过配置文件设置 2.在Activity类中进行设置 ...
- Android 验证码和密码输入框,能自定义输入框个数和样式(连体,下划线和方形框) 类似微信支付宝的密码输入框等
MNPasswordEditText 项目地址:maning0303/MNPasswordEditText 简介: Android 验证码和密码输入框,能自定义输入框个数和样式(连体,下划线和方形框 ...
- android textview获取背景颜色,Android TextView背景颜色与背景图片设置
Android TextView 背景颜色与背景图片设置,android textview 控件,android textview 背景, android textview 图片,android te ...
- Android 辅助功能(无障碍)自定义开发类似微信抢红包插件
背景: 通常在无人值守的Android智能设备或不能触摸交互的设备中,当系统运行异常时, 系统有可能会弹出应用程序无响应(ANR)对话框,提示是否终止当前进程或等待,或应用程序异常退出时系统偶尔也会有 ...
- 类似微信支付宝密码控件
NumberCodeView 一个类似微信支付和支付宝支付的时候输入密码面板的控件. 使用方式 普通样式 正常情况下,你可以把控件的声明写到你的 '.xml' 文件里面. <com.lkp.nu ...
- android TextView超链接设置颜色
因为在做一个项目要对文本解析,找出文本中的url.电话.email.地址.等.用系统默认的autolink autolinktextcolor只能统一设置超链接颜色,不能动态的实现各个Span绘制颜色 ...
- Android TextView autoLink 改变颜色,去掉link下划线
更改颜色:xml中使用textColorLink属性 删除下划线:自定义一个继承UnderlineSpan 的子类,重写updateDrawState方法在其中处理 xml界面代码: <andr ...
- android textview获取背景颜色,android – 从textview获取背景颜色而不使用ColorDrawable(API 11)...
试试这个- public static int getBackgroundColor(TextView textView) { ColorDrawable drawable = (ColorDrawa ...
- Android textView文字渐变色设置
Android textView文字渐变色设置 方式一: private void setGradientColor() {int[] colors = {Color.parseColor(" ...
最新文章
- Learn Java - Chapter 1 变量(Variables)-数组(Arrays)
- MySQL优化篇:IN VS EXISTS
- nginx rewrite 参数和例子
- hdu1.3.4 排序
- Tomcat集群快速入门:Nginx负载均衡配置,常用策略,场景及特点
- ROADS POJ - 1724(限制条件的最短路)【邻接表+深搜】
- 【STM32】修改芯片型号后报 Error 的解决方案
- 关于SQL的基础语法(一)
- mariadb安装_MariaDB CentOS 安装的时候如何确定 Repo 地址
- atitit.html5 vs 原生 app的区别与选择
- C# WPF中用ChartControl绘制柱形图
- bootice添加linux_用BOOTICE工具在U盘上实现SYSLINUX与GRUB4DOS双启动 - 图文
- 文华财经期货K线多周期画线技术,多重短线技术共振通道线指标公式——多周期主图自动画线
- 记录在训练深度学习算法过程中遇到的问题及解决办法。持续更新中....
- Milvus 2.1 版本更新 - 简单可信赖、性能持续提升
- 苹果历代产品中的8大亮点设计(上)
- ADSL 登陆账号密码嗅探器
- 微软推送win11 22622.575补丁!
- SEO优化是什么意思,如何理解并学好它
- 吉林大学计算机科学郝琳琳,胡亮-吉林大学计算机科学与技术学院
热门文章
- 计算机图像处理要学什么软件有哪些,电脑中常用的图像处理软件有哪些
- 新建Application 报错android.app.Application cannot be cast
- Vim 为什么把 HJKL 当作光标键?
- 【渝粤教育】国家开放大学2019年春季 2444酒店管理概论 参考试题
- 008 怎么取消隐藏文件扩展名
- 大屏可视化简介(echarts)
- 华为S9306交换机版本升级及补丁安装步骤
- /usr/bin/ld: /tmp/ccIHWHTn.o: in function `Cdisk::Cdisk()‘:编译报错解决方案
- org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
- idea单测覆盖率不显示的问题