最近项目中遇到了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>
下面看使用和效果图
OK,效果出来了。