Android TextView设置部分字体颜色及点击事件

2019-04-17 / 5 阅读 / Android
{
            SpannableStringBuilder style = new SpannableStringBuilder();

            //设置文字
            style.append("检查项一" + "[检查规范]");

            //设置部分文字点击事件
            ClickableSpan clickableSpan = new ClickableSpan() {
                @Override
                public void onClick(View widget) {
                    showJCGFDialog("1、检查规范检查规范检查规范检查规范\n" +
                            "2、规范检查规范检查规范检查规范检查规范检查规范\n" +
                            "3、规范检查规范检查规范检查规范检查规范\n" +
                            "4、规范检查规范检查规范检查规范检查规范检规范");
                }

                @Override
                public void updateDrawState(TextPaint ds) {
                    ds.setUnderlineText(false);
                }
            };
            //设置可点击文字范围,这里我只需要‘[检查规范]’可点击
            style.setSpan(clickableSpan, 4, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            //设置部分文字颜色,突出可点击文字颜色
            ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(Color.parseColor("#FFCF47"));
            style.setSpan(foregroundColorSpan,4, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
           //此处必须设置
          txtCheckItem.setMovementMethod(LinkMovementMethod.getInstance());
          txtCheckItem.setText(style);
        }
相关推荐