Android TextView中部分文字高亮显示
程序员文章站
2023-01-26 20:07:30
android textview中部分文字高亮显示
/**
* 关键字高亮显示
*
* @param context 上下文...
android textview中部分文字高亮显示
/** * 关键字高亮显示 * * @param context 上下文 * @param text 需要显示的文字 * @param target 需要高亮的关键字 * @param color 高亮颜色 * @param start 头部增加高亮文字个数 * @param end 尾部增加高亮文字个数 * @return 处理完后的结果 */ public static spannablestring highlight(context context, string text, string target, string color, int start, int end) { spannablestring spannablestring = new spannablestring(text); pattern pattern = pattern.compile(target); matcher matcher = pattern.matcher(text); while (matcher.find()) { foregroundcolorspan span = new foregroundcolorspan(color.parsecolor(color)); spannablestring.setspan(span, matcher.start() - start, matcher.end() + end, spannable.span_exclusive_exclusive); } return spannablestring; }
start与end参数默认情况下传0,当需要高亮的关键字前后有符号时(比如[高亮]),start与end参数可传1。
调用方法
spannablestring highlighttext = stringutils.highlight(this, "关键字高亮", "高亮", "#ea2d2d", 0, 0); textview.settext(highlighttext);
效果如下图所示:
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!