Android TextView中部分文字高亮显示

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);

效果如下图所示:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-08-02 19:58:39

Android TextView中部分文字高亮显示的相关文章

Android TextView中文字通过SpannableString设置属性用法示例_Android

本文实例讲述了Android TextView中文字通过SpannableString设置属性的方法.分享给大家供大家参考,具体如下: 在Android中,TextView是我们最常用的用来显示文本的控件. 一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下. //创建一个 SpannableString对象 SpannableStri

Android 开发中根据搜索内容实现TextView中的文字部分加粗

实现方式没有引入任何依赖,轻量级实现需求效果 最近遇到一个需求,需要做一个搜索功能.搜索的内容需要加粗显示. 完成了这个功能后,写下此博客,记录一下实现过程 效果图 首先自定义一个StyleSpan,在StyleSpan里做加粗的等匹配状态的设置 @SuppressLint("ParcelCreator") public class SearchStyleSpan extends StyleSpan { public SearchStyleSpan(int style) { super

Android设置当TextView中的文字超过TextView的容量时用省略号代替

有时候在ListView中显示Textview时由于长度过长而导致text会隔行显示,UI上看起来就比较的不友好. 官方提供了相关的实现单行显示的方法. 只需要下边的设置: textview.setSingleLine(); textview.setEllipsiz(TextUtils.TruncateAt.valueOf("END")); 在xml中设置如下: android:singleLine="true" android:ellipsize="en

利用SpannableStringBuilder设置TextView中部分文字的颜色

MainActivity如下: package cc.testspannablestringbuilder; import android.os.Bundle; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.style.ForegroundColorSpan; import android.widget.TextView; import android.

Android TextView控件文字添加下划线的实现方法_Android

如下所示: TextView tv = (TextView) findViewById(R.id.text); tv.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); tv.setText("添加下划线"); 以上就是小编为大家带来的Android TextView控件文字添加下划线的实现方法的全部内容了,希望对大家有所帮助,多多支持~ 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上

布局-android TextView中的setLayoutParam方法

问题描述 android TextView中的setLayoutParam方法 各位前辈,我最近在自学安卓编程,碰到多次 setLayoutParams函数,我对这个函数的用法感觉很模棱两可,API中是这样写 Set the layout parameters associated with this view. These supply parameters to the parent of this view specifying how it should be arranged. The

Android TextView控件文字添加下划线的实现方法

如下所示: TextView tv = (TextView) findViewById(R.id.text); tv.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); tv.setText("添加下划线"); 以上就是小编为大家带来的Android TextView控件文字添加下划线的实现方法的全部内容了,希望对大家有所帮助,多多支持脚本之家~

Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性

在Android中,TextView是我们最常用的用来显示文本的控件.   一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下.    res-layout-main.xml [html] view plaincopy <?xml version="1.0" encoding="utf-8"?>

android TextView中文字通过SpannableString设置属性

在Android中,TextView是我们最常用的用来显示文本的控件.   一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下. [java] view plaincopy //创建一个 SpannableString对象       SpannableString msp = new SpannableString("字体测试字体大小