美文网首页移动开发Android开发Android技术知识
SpannableString实现文字变色,点击···

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

作者: eiun | 来源:发表于2016-10-26 18:11 被阅读0次

    本来想自己慢慢形成写博客的习惯,结果今天居然投稿成功了,还有人点了赞,宝宝很开心,所以决定再写一篇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);
    

    这样就可以看到效果了

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

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

    相关文章

      网友评论

        本文标题:SpannableString实现文字变色,点击···

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