#####动态修改指定文字颜色

1
2
3
4
5
String text = "获得银宝箱!";  
SpannableStringBuilder style=new SpannableStringBuilder(text);
style.setSpan(new BackgroundColorSpan(Color.RED),2,5,Spannable.SPAN_EXCLUSIVE_INCLUSIVE); //设置指定位置textview的背景颜色
style.setSpan(new ForegroundColorSpan(Color.RED),0,2,Spannable.SPAN_EXCLUSIVE_INCLUSIVE); //设置指定位置文字的颜色
textView.setText(style);

#####动态修改指定文字颜色 并添加下划线

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SpannableString clickString = new SpannableString(exChangeValue);//exChangeValue TextViwe的内容
clickString.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
Intent intent = new Intent(ExchangeActivity.this, WebActivity.class);
intent.putExtra(WebActivity.WEB_URL_PARA, flow.getAgreement().getUrl());
startActivity(intent);
}

@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setColor(Color.parseColor("#FF7012"));//设置颜色
}
}, i, i1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//i变色的开始位置 i1变色的结束位置
tv_exchange_rule_value.append(clickString);
tv_exchange_rule_value.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件