自定义控件-可收缩的Textview

即朋友圈的全文-收起 textview。

可以自定义控件继承自LinearLayout,然后里面放两个textview。

一个用来显示内容tv1,一个用来显示全文和收起tv2。

tv2做点击事件即可。


首先自定义attrs,最大行数。

然后再构造方法里initAttrs,拿到最大行数。

接下来initview。

设置LinearLayout方向,再加载layout布局。

然后该控件提供个settext方法。

方法里做监听,然后移除监听避免重复监听。

然后tv1settext,通过监听拿到tv1的行数,然后和最大行数进行对比。

来做处理,是显示全文,还是收起。


然后对tv2做点击事件的监听即可。


需要注意的地方

1 typedArray一定要记得回收。

2 要移除textview绘制时候的监听,避免重复监听。

你可能感兴趣的:(自定义控件-可收缩的Textview)