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

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

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

看例子:

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

还有像@别人啊什么的也是可以用这种方法的,当然你也可以用很多个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);

这样就可以看到效果了

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容