需求:
一段文字中有带颜色的字体且可以点击。
步奏如下:
1. SpannableString 类。
SpannableString spanS=new SpannableString(str);
2. ClickableSpan接口。
spanS.setSpan(new ClickableSpan() {
//定义点击
@Override
public void onClick(View widget) {
}
//改变字体样式
@Override
public void updateDrawState(TextPaint ds) {
int red=0xFC3342;
ds.setColor(red);
}
}, 4, spanS.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
3.给TextView设置SpannableString。
priceTv.setText(spanS);
//必须加此代码,否则点击事件不会执行。
priceTv.setMovementMethod(LinkMovementMethod.getInstance());