Android中TextView的文本内容中指定关键字高亮显示

来源:互联网 发布:对艺术的知乎 编辑:程序博客网 时间:2024/05/09 01:19

让TextView的文本中指定关键字高亮显示的工具类

public class HighLightKeyWordUtil {      /**      * @param color 关键字颜色      * @param text 文本      * @param keyword 关键字      * @return      */      public static SpannableString getHighLightKeyWord(int color, String text,String keyword) {          SpannableString s = new SpannableString(text);          Pattern p = Pattern.compile(keyword);          Matcher m = p.matcher(s);          while (m.find()) {              int start = m.start();              int end = m.end();              s.setSpan(new ForegroundColorSpan(color), start, end,                      Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);          }          return s;      }      /**      * @param color 关键字颜色      * @param text 文本      * @param keyword 多个关键字      * @return      */      public static SpannableString getHighLightKeyWord(int color, String text,String[] keyword) {          SpannableString s = new SpannableString(text);          for (int i = 0; i < keyword.length; i++) {              Pattern p = Pattern.compile(keyword[i]);              Matcher m = p.matcher(s);              while (m.find()) {                  int start = m.start();                  int end = m.end();                  s.setSpan(new ForegroundColorSpan(color), start, end,                 Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);              }          }          return s;      }  }  
0 0
原创粉丝点击