android 中TextView设置ForegroundColorSpan不生效

Updated on with 1,588 views

在设置ForegroundColorSpan的同时设置ClickableSpan的时候就会出现ForegroundColorSpan无效的情况.

这个时候就需要用另一种方式来设置字体的颜色.通过重写UnderlineSpan方法来设置字体的颜色.

SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
String privacyTitle1 = activity.getResources().getString(R.string.privacy_title1);

 stringBuilder.setSpan(new UnderlineSpan(){
                @Override
                public void updateDrawState(@NonNull TextPaint ds) {
                  ds.setColor(activity.getResources().getColor(R.color.colorRed2));
                  ds.setUnderlineText(false);
                }
            }, stringBuilder.toString().indexOf(privacyTitle1), stringBuilder.toString().indexOf(privacyTitle1) + privacyTitle1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);


标题:android 中TextView设置ForegroundColorSpan不生效
作者:yanjing
地址:https://yanjingtp.cn/articles/2022/05/09/1652105456933.html