好多時候我們會需要部分文字與別的變得不一樣,比如搜索時候的關鍵字等等,效果如圖
這種效果的實現很簡單,用了一個方法
/** * 文字高亮顯示 * @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;}
最終返回的就是已經處理好的結果了,可以直接用了,其原理也很簡單,找字符串中一樣的就給他上顏色