Android TextView 部分文字点击与变色

SpannableStringBuilder style = new SpannableStringBuilder("同意阅读以下协议《用户使用协议》和《隐私协议》");
style.setSpan(new ForegroundColorSpan(Color.parseColor("#083998")), 8, 20, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
style.setSpan(new ClickableSpan() {
    @Override
    public void onClick(@NonNull View view) {
        ToastUtils.showShort("《用户使用协议》");
    }
}, 8, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
style.setSpan(new ForegroundColorSpan(Color.parseColor("#083998")), 22, 27, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
style.setSpan(new ClickableSpan() {
    @Override
    public void onClick(@NonNull View view) {
        ToastUtils.showShort("《隐私协议》");
    }
}, 22, 27, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

tv_declaration.setMovementMethod(LinkMovementMethod.getInstance()); //必写 不然点击事件无效
tv_declaration.setText(style);

你可能感兴趣的:(android)