自定义TextView末尾增加高亮文字(ForegroundColorSpan)和点击事件(ClickableSpan)

一、自定义TextView实现增加高亮文字和点击事件
先看效果图如下:
在这里插入图片描述
详细描述是这样的:实现一个文本框,条件1:文本显示三行。条件2:文本超过三行时,在末尾显示省略号,并且在末尾展示“查看全部 >”按钮,高亮显示,并且可以点击跳转界面。条件3:文本三行能全部显示完整,则不展示“查看全部 >”按钮。
这个实现跟可扩展TextView的定义不一样,只需要实现末尾添加文字、图片、高亮、可点击即可。

当然难点是在:“查看全部 >”按钮,精确的显示在文本的最后面。所以计算需要展示的字符串长度,就是重点了。

二、直接看代码吧

class TextViewURLSpan extends ClickableSpan {
   
        @Override
        public void updateDrawState(TextPaint ds) {
   
            ds.setColor(Color.RED);
            ds.setUnderlineText(false); //去掉下划线
        }

        @Override
        public void onClick(View widget) {
   //点击事件
            widget.setSelected(false);
            Toast.makeText( MainActivity.this, "点击了", Toast.LENGTH_SHORT).show();
        }
    }
final String content = "赵丽颖,1987年10月16日出生于河北省廊坊市,中国内地女演员、歌手,河北省旅游形象大使。2006年,因获得《雅虎搜星》比赛冯小刚组冠军而进入演艺圈;同年,在冯小刚执导的广告片《跪族篇》中担任女主角。2011年,因在古装剧《新还珠格格》中饰演晴儿一角而被观众认识。2013年,凭借古装剧《陆贞传奇》获得更多关注。2014年10月,在第10届金鹰电视艺术节举办的投票活动中被选为“金鹰女神”";
        testTextview2 = findViewById(R.id.testTextview2);
        testTextview2.post(new Runnable() {
   

            @Override
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值