好多时候我们会需要部分文字与别的变得不一样,比如搜索时候的关键字等等,效果如图
这种效果的实现很简单,用了一个方法
/** * 文字高亮显示 * @param color 你要显示的颜色 * @param text 整串string字符串 * @param keyword 关键字 * @return */public static SpannableString matcherSearchTitle(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;}
最终返回的就是已经处理好的结果了,可以直接用了,其原理也很简单,找字符串中一样的就给他上颜色