SpannableString的使用方法

1.在Android开发中,经常会用到一行字,要显示不同的颜色,如果用多个TextView的话,过于浪费空间,浪费重绘的时间,所以通常就用SpannableString来解决这个问题
2.代码如下:

SpannableStringBuilder positionName = new SpannableStringBuilder(textStr);//传入你的字符串
        SpannableString spannableString = new SpannableString(text);
        spannableString.setSpan(new ClickableSpan() {

            @Override
            public void updateDrawState(TextPaint ds) {
                super.updateDrawState(ds);
                ds.setColor(Color.parseColor("#999999"));//设置需要的颜色
                ds.setUnderlineText(false);
            }

            @Override
            public void onClick(View widget) {
                  //设置这段文字的点击事件
            }
        }, 0,3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        textview.setText(positionName.append(spannableString));//特别说明一点,在setText()方法时,传入的值必须是SpannableStringBuilder对象,不能用positionName+spannableString的方式拼接字符串,必须是positionName.append(spannableString),否则没有效果

你可能感兴趣的:(SpannableString的使用方法)