TextView展开和收起

时间:2022-09-18 19:37:21

最近项目中遇到了ListView中Textview展开查看更多和收起,默认只显示两行,多的用...
在网上查到资料使用自定义view发现有点问题,于是决定用两个Textview完成,下面是适配器中的代码。

helper.getTextView(R.id.item_home_content_tv1).setText(model.getReplyContent());
helper.getTextView(R.id.item_home_content_tv2).setText(model.getReplyContent());
helper.getTextView(R.id.item_home_content_tv2).post(new Runnable() {
@Override
public void run()
if (helper.getTextView(R.id.item_home_content_tv2).getLineCount() < 3) {
helper.getView(R.id.item_home_all_linear).setVisibility(View.INVISIBLE);
helper.getTextView(R.id.item_home_content_tv2).setVisibility(View.GONE);
} else {
helper.getView(R.id.item_home_all_linear).setVisibility(View.VISIBLE);
helper.getTextView(R.id.item_home_content_tv2).setVisibility(View.GONE);
}
}
});

helper.getView(R.id.item_home_all_linear).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (helper.getTextView(R.id.item_home_content_tv2).getVisibility() == View.GONE) {
helper.getTextView(R.id.item_home_content_tv2).setVisibility(View.VISIBLE);
helper.getTextView(R.id.item_home_content_tv1).setVisibility(View.GONE);
helper.getTextView(R.id.item_home_zhankai).setText("收起");
} else {
helper.getTextView(R.id.item_home_content_tv2).setVisibility(View.GONE);
helper.getTextView(R.id.item_home_content_tv1).setVisibility(View.VISIBLE);
helper.getTextView(R.id.item_home_zhankai).setText("展开全部");
}
}
});
布局
 
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20px" android:orientation="vertical">        <TextView android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginRight="24px" android:layout_marginTop="10px" android:textColor="@color/textColor09" android:textSize="20px"/>        <TextView android:id="@+id/item_home_content_tv1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginRight="40px" android:layout_marginTop="10px" android:ellipsize="end" android:lineSpacingExtra="3dp" android:maxLines="2" android:textColor="@color/c79" android:textSize="14dp"/>        <TextView android:id="@+id/item_home_content_tv2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginRight="40px" android:layout_marginTop="10px" android:lineSpacingExtra="3dp" android:textColor="@color/c79" android:textSize="14dp"/>        <LinearLayout android:id="@+id/item_home_all_linear" android:layout_width="match_parent" android:layout_height="40px" android:orientation="horizontal">            <ImageView android:layout_width="40px" android:layout_height="40px" android:layout_gravity="center_vertical" android:src="@mipmap/home_xiangxia"/>            <TextView android:id="@+id/item_home_zhankai" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="展开全文" android:textColor="@color/refresh" android:textSize="12dp"/>        </LinearLayout>        <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="10px" android:layout_marginTop="10px" android:orientation="horizontal">            <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"/>            <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:src="@mipmap/home_item_pinglun" android:visibility="gone"/>            <TextView android:id="@+id/item_home_count_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="5px" android:text="230" android:textColor="#454545" android:textSize="18px" android:visibility="gone"/>            <ImageView android:id="@+id/item_home_zan_iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="20px" android:src="@mipmap/home_item_zan"/>            <TextView android:id="@+id/item_home_zan_tv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="5px" android:layout_marginRight="24px" android:text="3350" android:textColor="#454545" android:textSize="18px" android:visibility="gone"/>            <TextView android:id="@+id/item_home_zan_tv2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="5px" android:layout_marginRight="43px" android:text=" " android:textColor="#454545" android:textSize="24px"/>        </LinearLayout>    </LinearLayout></LinearLayout>

下面看使用和效果图

TextView展开和收起


TextView展开和收起

OK,效果出来了。