仿微博 @好友 @xx 高亮 变色

来源:互联网 发布:可以测三庭五眼的软件 编辑:程序博客网 时间:2024/05/18 00:10
/** * * 文字高亮  比如@xx 变色 * Created by youj on 2016/5/24. */public class TextHighlightUtils {    static final String START = "start";    static final String END = "end";    static final String NAMEH = "@([\u4e00-\u9fa5A-Za-z0-9_]*)";    public static SpannableString heightLight(String text,int color){        SpannableString spannableString = new SpannableString(text);        ArrayList<Map<String,String>> lists = getStartAndEnd(text,Pattern.compile(NAMEH));        for(Map<String,String> str:lists){            ForegroundColorSpan span = new ForegroundColorSpan(color);            spannableString.setSpan(span,Integer.parseInt(str.get(START)), Integer.parseInt(str.get(END)), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);        }        return spannableString;    }    private static ArrayList<Map<String,String>> getStartAndEnd(String text,Pattern pattern){        ArrayList<Map<String,String>> lists = new ArrayList<Map<String,String>>(0);        Matcher matcher = pattern.matcher(text);        while(matcher.find()){            Map<String,String> map = new HashMap<String, String>(0);            map.put(START, matcher.start()+"");            map.put(END, matcher.end()+"");            lists.add(map);        }        return lists;    }}


0 0
原创粉丝点击