SpannableString实现文字变色,点击···

本来想自己慢慢形成写博客的习惯,结果今天居然投稿成功了,还有人点了赞,宝宝很开心,所以决定再写一篇O(∩_∩)O~

SpannableString 可以当成string来用,只不过它自己可以设置很多东西在里面,改变颜色啊,给某段字增加点击事件啊。

看例子:

凤眼睇世界#这个颜色是不同的,而且是可以点击的

SpannableString实现文字变色,点击···_第1张图片

还有像@别人啊什么的也是可以用这种方法的,当然你也可以用很多个textview自己拼接,但是不好搞,很麻烦,所以这个SpannableString还是很有用的

好,下面来初始化

SpannableString spannableString = new SpannableString("@我这里是内容");

先给 @我 这两个字变个颜色

ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#0C8FFE"));
spannableString.setSpan(colorSpan, 0,2, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);

第一个参数colorSpan就是颜色设置,第二个参数 0 就是开始变色的地方,第三个参数 2 是结束变色的地方,最后一个参数Spanned.SPAN_INCLUSIVE_EXCLUSIVE是说包括头和尾,还有只包括头的和只包括尾的,我觉得那两个少用,一般用这个就可以了。

然后再@我 这个字段增加点击事件,点击跳转到另一个页面

            ClickableSpan clickableSpan = new ClickableSpan() {
                @Override
                public void onClick(View widget) {
                    Intent intent =new Intent(this, CiclePersonalActivity.class);
                    startActivity(intent);
                }
            };
spannableString.setSpan(clickableSpan, 0,item.getNickName().length()+1, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);

现在字段的配置就完成了然后随便找个TextView

TextView mTextView =new TextView();
mTextView.setText(spannableString);

这样就可以看到效果了

今天才申请转正希望能给过,唉,像我这种刚才出来的苦逼程序猿,路漫漫其修远兮,吾将上下而求索~

或者哪个公司来挖我一下也好啊(◐_◑)

你可能感兴趣的:(SpannableString实现文字变色,点击···)