第一步 一个textview布局 在xml
<com.founder.liangshanfabu.widget.TypefaceTextView
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:id="@+id/dy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="@color/text_color_333"
android:textSize="15sp" />
第二 是我们的activiy
SpannableStringBuilder spannable = new SpannableStringBuilder(
"根据相关法律法规要求,我们更新完善了《用户服务协议》和《隐私政策》,建议您仔细阅读相关条款。在您同意并接受后,将可以正常使用凉山日报为您提供的全部功能。");
//设置文字的前景色
spannable.setSpan(new TextClick(),18,26, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//这个一定要记得设置,不然点击不生效
dy.setMovementMethod(LinkMovementMethod.getInstance());
spannable.setSpan(new TextClicks(),27,33 , Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(new UnderlineSpan(), 18, 26,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(new UnderlineSpan(), 27, 33,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
dy.setText(spannable);
private class TextClick extends ClickableSpan {
@Override
public void onClick(View widget) {
dy.setHighlightColor(getResources().getColor(R.color.white));
Intent intent = new Intent(FirstpopActivity.this, XyActivity.class);
startActivity(intent);
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(getResources().getColor(R.color.theme_color));
}
}
private class TextClicks extends ClickableSpan {
@Override
public void onClick(View widget) {
dy.setHighlightColor(getResources().getColor(R.color.white));
Intent intent = new Intent(FirstpopActivity.this, ZCActivity.class);
startActivity(intent);
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(getResources().getColor(R.color.theme_color));
}
}
这里是多文字 两处变颜色 点击 下划线等