zoukankan      html  css  js  c++  java
  • Android 高亮显示文本中的关键字

    总结:SpannableString用好,可以各种替换Span来操作各种内容

    1、文本关键字高亮关键在于:SpannableString使用

    主要就是通过关键字在文本的开始index,结束index来定位到位置,设置该范围的字体颜色。

    1 SpannableString ssLight = new SpannableString(文本字符串);
    2 ssPM.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.white)), 0, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    3 ssPM.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.blue)), 8, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    4 tv_light.setText(ssLight);

    2、如何定位到关键字在文本的index:正则表达式

    主要就是通过正则表达式find:找到关键字在文本的开始index,结束index

     1 SpannableString ssLight = new SpannableString(文本字符串);  
     2 Pattern p = Pattern.compile(关键字字符串);  
     3 Matcher m = p.matcher(s);  
     4 while (m.find()) {  
     5      int startIndex = m.start();  
     6      int endIndex = m.end();  
     7      ssLight.setSpan(new ForegroundColorSpan(getResource.getColor(R.color.white)), startIndex, endIndex,  
     8          Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
     9 }
    10 tv_light.setText(ssLight);  

    3、想匹配多个,就用以上方法,用关键字数组,自己抽取出一个方法进行设置。

  • 相关阅读:
    第三章 系统总线
    人工神经网络及其应用
    专家系统
    遗传算法
    搜索算法策略
    js判断有无属性及新添属性
    vue 文件插件 Vetur 设置说明官网
    vue 获得当前无素并做相应处理
    VUE style 绑定
    vue入门基础知识点测试
  • 原文地址:https://www.cnblogs.com/CharlesGrant/p/5334079.html
Copyright © 2011-2022 走看看