SpannableStringBuilder点击事件以及部分字体变颜色字体样式等问题

我们的App开发一开始进入的时候有用户协议以及隐私政策的提示

您可以查看完整版《用户协议》和《隐私政策》

这里的用户协议和隐私政策是可以点击跳转链接的

注意:一开始我先调整的字体的颜色,然后加的点击事件,发现字体颜色不会改变,后来把点击事件跟字体颜色设置顺序换了一下,字体颜色就修改了

SpannableStringBuilder spannableBuilder = new SpannableStringBuilder(message);
ClickableSpan clickableSpanOne = new ClickableSpan() {
    @Override
    public void onClick(View view) {
     //点击事件
    }
};
//这里是确定字体的位置,如果是动态的,只需要判断里面是否有特殊字符然后判断位置就行
spannableBuilder.setSpan(clickableSpanOne, spannableBuilder.length()-13, spannableBuilder.length()-7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

ClickableSpan clickableSpanOne_ys = new ClickableSpan() {
    @Override
    public void onClick(View view) {
     //点击事件
    }
};
spannableBuilder.setSpan(clickableSpanOne_ys, spannableBuilder.length()-6, spannableBuilder.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//颜色ForegroundColorSpan每次被引用都需要new出来,这也是为什么我第一次只有一个生效第二个
//没有生效,
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#32A4DF"));
ForegroundColorSpan colorSpan1 = new ForegroundColorSpan(Color.parseColor("#32A4DF"));
spannableBuilder.setSpan(new AbsoluteSizeSpan(40), 0, 13, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableBuilder.setSpan(new StyleSpan(Typeface.BOLD), 0, 13, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableBuilder.setSpan(colorSpan1, spannableBuilder.length()-13, spannableBuilder.length()-7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableBuilder.setSpan(colorSpan, spannableBuilder.length()-6, spannableBuilder.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//最后再settext就行了

textView.settext(spannableBuilder);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn_zxw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值