public class FindUtil {
/**
* 關鍵字高亮變色
*
* @param color 變化的色值
* @param text 文字
* @param keyword 文字中的關鍵字
* @return
*/
public static SpannableString findSearch(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 findSearch(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;
}
}
搜索關鍵字變色
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.