一、自定义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