美文网首页
TextView中添加下划线、不同颜色、点击跳转的字

TextView中添加下划线、不同颜色、点击跳转的字

作者: _蘇芳_ | 来源:发表于2016-07-30 13:44 被阅读108次
Screenshot_2016-07-30-13-36-50_com.aidebar.spandemo_1469857042549.jpg

如果需要实现这种效果,
直接上代码

tv = (TextView) findViewById(R.id.tv);

        tv.append("hehehehahaha");

        SpannableString ssb = new SpannableString("点击跳转");
        ssb.setSpan(new ClickableSpan() {

            @Override
            public void onClick(View view) {
                startActivity(new Intent(MainActivity.this,SecondActivity.class)); //点击跳转
            }
            @Override
            public void updateDrawState(TextPaint ds) {  //设置样式
                super.updateDrawState(ds);
                ds.setColor(getResources().getColor(R.color.textclick));  //字体颜色
                ds.setUnderlineText(true);      //下划线
            }
        },0,ssb.length(),SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
        tv.append(ssb);
        tv.setMovementMethod(LinkMovementMethod.getInstance());     //开始响应点击事件

这里设置的是ClickableSpan,即点击效果,同时在updateDrawState中设置了字体样式,

如果仅仅是想要下划线或者字体变色的话,那么
ssb.setSpan(new ForegroundColorSpan(Color.MAGENTA),0,ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ssb.setSpan(new UnderlineSpan(),0,ssb.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
即可,还有很多各式各样的span类型,大家自己试吧

相关文章

网友评论

      本文标题:TextView中添加下划线、不同颜色、点击跳转的字

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