• Android中高亮变色显示文本中的关键字


    应该是好久没有写有关技术类的文章了,前天还有人在群里问我,说群主很长时间没有分享干货了,今天分享一篇Android中TextView在大段的文字内容中如何让关键字高亮变色的文章 ,希望对大家有所帮助,我终于在歪路上回归正途了。这个篇文章在平时应该还算比较常用吧,如果你会了,就不用看了,如果还不会,可以看一眼,非常简单。

    今天分享的文章大概内容是在TextView中如何使大段的文字内容中关键字变色高亮显示的,分为一个关键字高亮变色显示和多个关键字一起高亮变色显示。我已经封装成了KeywordUtil工具类,可以直接调用,效果图如下:

    Android中高亮变色显示文本中的关键字

    具体代码如下:

    package net.loonggg.test;

    import java.util.regex.Matcher;

    import java.util.regex.Pattern;

    import android.text.SpannableString;

    import android.text.Spanned;

    import android.text.style.ForegroundColorSpan;

    public class KeywordUtil {

    /**

    * 关键字高亮变色

    *

    * @param color

    * 变化的色值

    * @param text

    * 文字

    * @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;

    }

    /**

    * 多个关键字高亮变色

    *

    * @param color

    * 变化的色值

    * @param text

    * 文字

    * @param keyword

    * 文字中的关键字数组

    * @return

    */

    public static SpannableString matcherSearchTitle(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;

    }

    }

    其实看完代码就知道了,非常简单。大家可以试一试哦!

  • 相关阅读:
    程序设计实习课(0)资源链接
    解决clion2016.3不能支持搜狗输入法的问题
    四元数运动学笔记(5)IMU驱动的运动误差方程
    四元数运动学笔记(4)旋转的雅克比矩阵
    四元数运动学笔记(3)四元数和旋转相关的约定表述
    四元数运动学笔记(2)旋转向量,旋转矩阵和四元数的关系
    单应矩阵,基本矩阵,本质矩阵
    ROS标定IDS相机
    四元数运动学笔记(1)旋转的表示
    IMU Noise Model
  • 原文地址:https://www.cnblogs.com/android-blogs/p/4972001.html
Copyright © 2020-2023  润新知