开源控件ExpandableTextView的使用

    前几天在项目开发中,要求实现一个文字折叠显示功能:比如在TextView中如果文字量小于3行,则直接全部显示出来,如果超过3行,就在文字下方增加一个点击展开的箭头,点击则展开文字,文字展开后展开箭头变成收缩箭头,点击就收缩起来。最开始是考虑自己通过TextView+ImageButon两个控件来实现的,后来在网上一查,有直接的开源控件,果断拿来用了。做了简单地修改(主要是修改了展开图标),就顺利完成了功能。

展开后的效果:

收缩后的效果:

  开源控件ExpandableTextView的代码地址:https://github.com/com314159/ExpandableTextViewInListView,这个也可以用在ListView的每一个Item中,我在项目中就是用于ListViw中的。使用起来很简单:

1,布局中添加控件(对应添加TextView和ImageButton):

<com.huika.ncfinancing.views.ExpandableTextView
            android:id="@+id/expand_text_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            expandableTextView:maxCollapsedLines="3" >//设置默认显示的行数


            <TextView
                android:id="@+id/expandable_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="10dp"
                android:textColor="#333333"
                android:textSize="15sp" />


            <ImageButton
                android:id="@id/expand_collapse"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="10dp"
                android:background="@android:color/transparent"
                android:visibility="invisible" />
        </com.huika.ncfinancing.views.ExpandableTextView>

在代码中就更简单了:

private ExpandableTextView expandTextView;

....

expandTextView = (ExpandableTextView) convertView.findViewById(R.id.expand_text_view);

expandTextView.setText(“设置你要显示的数据”);

------------------------------ok啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值