让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;
}
}
本文介绍了一个用于Android开发的工具类,该工具类能够实现TextView中指定关键字的高亮显示功能。通过使用正则表达式匹配关键字,并设置文本颜色Span,可以轻松地为任意文本中的特定词汇添加高亮效果。
2308

被折叠的 条评论
为什么被折叠?



