Android 高亮显示文本中的关键字
2016-03-30 17:00
225 查看
总结:SpannableString用好,可以各种替换Span来操作各种内容
1、文本关键字高亮关键在于:SpannableString使用
主要就是通过关键字在文本的开始index,结束index来定位到位置,设置该范围的字体颜色。
2、如何定位到关键字在文本的index:正则表达式
主要就是通过正则表达式find:找到关键字在文本的开始index,结束index
3、想匹配多个,就用以上方法,用关键字数组,自己抽取出一个方法进行设置。
1、文本关键字高亮关键在于:SpannableString使用
主要就是通过关键字在文本的开始index,结束index来定位到位置,设置该范围的字体颜色。
SpannableString ssLight = new SpannableString(文本字符串); ssPM.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.white)), 0, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); ssPM.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.blue)), 8, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); tv_light.setText(ssLight);
2、如何定位到关键字在文本的index:正则表达式
主要就是通过正则表达式find:找到关键字在文本的开始index,结束index
SpannableString ssLight = new SpannableString(文本字符串); Pattern p = Pattern.compile(关键字字符串); Matcher m = p.matcher(s); while (m.find()) { int startIndex = m.start(); int endIndex = m.end(); ssLight.setSpan(new ForegroundColorSpan(getResource.getColor(R.color.white)), startIndex, endIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); } tv_light.setText(ssLight);
3、想匹配多个,就用以上方法,用关键字数组,自己抽取出一个方法进行设置。
相关文章推荐
- Android实现横向二级菜单
- Android 内存优化---管理应用的内存
- Android include的使用,id一样怎么监听点击事件
- Android Edittext获取焦点后,弹出的软键盘显示搜索、发送、完成等功能
- Gradle for Android(一)基本配置、依赖管理
- Realm实战总结---Android
- Android开发中应该养成的好习惯
- android webview js交互 调取本地相册(兼容各个版本)并且上传到服务器端。
- Android屏幕分辨率的问题,dp,px,density等概念
- Android的内存优化相关记录
- Android学习笔记之AndroidManifest.xml文件解析
- Android 开发之PackageManager使用
- Android studio 解决libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
- android bitmap compress(图片压缩)
- Android Fragments 详细使用
- android-Selector控件点击效果设置
- Android 删除没有用到的资源
- Sqlite在android中的使用
- Android5.x Notification应用解析
- Android 输入法显示隐藏的问题