美文网首页
变色的TextView

变色的TextView

作者: 勤劳的蚂蚁 | 来源:发表于2020-03-11 13:31 被阅读0次
    public class ColorTextView extends android.support.v7.widget.AppCompatTextView {
    
        public ColorTextView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        public void setSpecifiedTextsColor(String text, String specifiedTexts, int color) {
            List<Integer> sTextsStartList = new ArrayList<Integer> ();
    
            int sTextLength = specifiedTexts.length ();//获取特殊字符的长度
            String temp = text;
            int lengthFront = 0;//记录被找出后前面的字段的长度
            int start = -1;
            do {
                start = temp.indexOf (specifiedTexts);//查找第一个字符在索引中的位置
    
                if (start != -1) {
                    start = start + lengthFront;//加一个搜索的字符长度
                    sTextsStartList.add (start);
                    lengthFront = start + sTextLength;//搜索字后面的字符长度
                    temp = text.substring (lengthFront);//截取搜索字之后的所有字体
                }
    
            } while (start != -1);
    
            SpannableStringBuilder styledText = new SpannableStringBuilder (text);
            for (Integer i : sTextsStartList) {
                styledText.setSpan (
                        new ForegroundColorSpan (color),
                        i,
                        i + sTextLength,
                        Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            }
            setText (styledText);
        }
    }
    
    

    相关文章

      网友评论

          本文标题:变色的TextView

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