美文网首页
Android SpannableString的变色和点击

Android SpannableString的变色和点击

作者: 因为我的心 | 来源:发表于2023-07-20 11:59 被阅读0次
    1、效果图
    图片.png
    2、要实现Android SpannableString的变色和点击效果,可以使用SpannableString类和ClickableSpan类。首先,创建一个SpannableString对象,并设置要显示的文本内容:
    SpannableString spannableString = new SpannableString("Hello World");
    

    然后,使用ForegroundColorSpan类设置文本的颜色:

    ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.RED);
    spannableString.setSpan(colorSpan, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    

    上述代码将"Hello"这个部分的文本设置为红色。接下来,使用ClickableSpan类设置文本的点击事件:

    ClickableSpan clickableSpan = new ClickableSpan() {
        @Override
        public void onClick(View widget) {
            // 处理点击事件
        }
    };
    spannableString.setSpan(clickableSpan, 6, 11, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    

    上述代码将"World"这个部分的文本设置为可点击,并在点击时执行onClick方法中的逻辑。最后,将SpannableString对象设置给TextView显示:

    textView.setText(spannableString);
    textView.setMovementMethod(LinkMovementMethod.getInstance());
    

    需要注意的是,为了使ClickableSpan生效,需要调用TextView的setMovementMethod方法,并传入LinkMovementMethod.getInstance()。这样,就实现了Android SpannableString的变色和点击效果。

    注意:如果变色和点击都是(6, 11)变色会不显示,可以让点击事件方法在上面,变色方法在下面。

    相关文章

      网友评论

          本文标题:Android SpannableString的变色和点击

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