美文网首页
SpnnableString关键字高亮

SpnnableString关键字高亮

作者: 苏未_ | 来源:发表于2018-10-12 14:31 被阅读0次
    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 Util {
    
        /**
         * 单个
         * @param color            高亮颜色色值
         * @param text              文本
         * @param keyword      文本中的关键字
         * @return
         */
        public static SpannableString highLightKeyWord(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 highLightKeyWords(int color, String text,  String[] keyWords) {
            SpannableString s = new SpannableString(text);
            for (int i = 0; i < keyWords.length; i++) {
                Pattern p = Pattern.compile(keyWords[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;
        }
    }
    

    相关文章

      网友评论

          本文标题:SpnnableString关键字高亮

          本文链接:https://www.haomeiwen.com/subject/unqgaftx.html