仿微信朋友圈动态展开折叠功能 Android

本文介绍了如何在Android应用中实现类似微信朋友圈动态的展开和折叠功能。通过设置TextView的最大行数和监听视图绘制,利用观察者模式解决获取行数问题。详细步骤包括设置展示的最大行数为5行,创建观察者并在Adapter中应用,以及展示完整代码块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

文本过长的展开和折叠,我本来的思路是通过TextView的 getLineCount() 方法判断文本内容的行数,然后这样进行展开或折叠。实际上,调用这个方法,在视图没有完全绘制时,getLineCount得到的行数永远是0。这个问题,可以使用观察者去监听来解决,下面是具体操作。

设置展示的最大行数

按照PM的要求,把最大行数设置为5行:

		<!-- 内容 -->
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="start|center_vertical"
                    android:minHeight="30dp"
                    android:textColor="@color/menuFont"
                    android:textSize="16sp"
                    android:maxLines="5"
                    android:ellipsize="end" />
                <!-- 展开或收起 -->
                <TextView
                    android:layout_width
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值