SpannableString的使用方法

1.在Android开发中,经常会用到一行字,要显示不同的颜色,如果用多个TextView的话,过于浪费空间,浪费重绘的时间,所以通常就用SpannableString来解决这个问题
2.代码如下:

SpannableStringBuilder positionName = new SpannableStringBuilder(textStr);//传入你的字符串
        SpannableString spannableString = new SpannableString(text);
        spannableString.setSpan(new ClickableSpan() {

            @Override
            public void updateDrawState(TextPaint ds) {
                super.updateDrawState(ds);
                ds.setColor(Color.parseColor("#999999"));//设置需要的颜色
                ds.setUnderlineText(false);
            }

            @Override
            public void onClick(View widget) {
                  //设置这段文字的点击事件
            }
        }, 0,3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        textview.setText(positionName.append(spannableString));//特别说明一点,在setText()方法时,传入的值必须是SpannableStringBuilder对象,不能用positionName+spannableString的方式拼接字符串,必须是positionName.append(spannableString),否则没有效果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,277评论 25 709
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,719评论 0 17
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,974评论 22 665
  • 鸡汤文盛行的年代,情绪低落了,上网搜一搜心灵鸡汤,心情不好没有动力了,找鸡汤补一补……鸡汤有用吗?有的。 总有那么...
    程子川zf阅读 3,304评论 0 0
  • 我们彼此都在一起 安静地看着 不论多少个十三年 我愿意我的生命与你重叠 大概清晨走过黯淡了一夜的行道树 走过路灯 ...
    谢林林林阅读 1,534评论 0 1