即朋友圈的全文-收起 textview。
可以自定义控件继承自LinearLayout,然后里面放两个textview。
一个用来显示内容tv1,一个用来显示全文和收起tv2。
tv2做点击事件即可。
首先自定义attrs,最大行数。
然后再构造方法里initAttrs,拿到最大行数。
接下来initview。
设置LinearLayout方向,再加载layout布局。
然后该控件提供个settext方法。
方法里做监听,然后移除监听避免重复监听。
然后tv1settext,通过监听拿到tv1的行数,然后和最大行数进行对比。
来做处理,是显示全文,还是收起。
然后对tv2做点击事件的监听即可。
需要注意的地方
1 typedArray一定要记得回收。
2 要移除textview绘制时候的监听,避免重复监听。
网友评论