美文网首页
Android TextView SpannableString

Android TextView SpannableString

作者: A然后呢 | 来源:发表于2022-02-24 14:26 被阅读0次

实现TextView局部样式及点击事件


image.png

例:上图中的用户服务协议,及隐私协议

private String serviceContractStr="请您阅读并统一我们的《用户服务协议》与《隐私政策》,了解您的用户权益及相关使用数据的方法";
serviceContract =findViewById(R.id.serviceContract);

//创建 SpannableString 对象
SpannableString spanColor = new SpannableString(serviceContractStr);


//为SpannableString  添加一个局部样式 及点击事件
spanColor.setSpan(new ClickableSpan() {
            @Override
            public void onClick(@NonNull View widget) {
                ProtocolActivity.start(getContext(),0);
            }

            @Override
            public void updateDrawState(@NonNull TextPaint ds) {
                super.updateDrawState(ds);
                //设置颜色
                ds.setColor(Color.parseColor("#3181C1"));
                //取消下划线
                ds.setUnderlineText(false);
            }
        }, serviceContractStr.indexOf("《用户服务协议》"), serviceContractStr.indexOf("与"), 0);

 serviceContract.setText(spanColor);     
 serviceContract.setMovementMethod(LinkMovementMethod.getInstance());   //不设置此处无法触发点击事件

相关文章

网友评论

      本文标题:Android TextView SpannableString

      本文链接:https://www.haomeiwen.com/subject/yfvzlrtx.html