1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > textview内容过多显示省略号 点击展开全部

textview内容过多显示省略号 点击展开全部

时间:2023-02-23 20:50:32

相关推荐

textview内容过多显示省略号 点击展开全部

开发中经常会遇到textview内容过多显示两三行后边显示省略号,有时还会需要点击展开全部显示:

效果图是这样的,不会gif图制作,只能上图片

好了直接上代码:

//这是点击的代码if (isShowDes) {tvDes.setEllipsize(TextUtils.TruncateAt.END);//收起tvDes.setLines(3);tvShowMore.setText("展开");} else {tvDes.setEllipsize(null);//展开tvDes.setSingleLine(false);//这个方法是必须设置的,否则无法展开tvShowMore.setText("收起");}isShowDes = !isShowDes;

<!--xml的代码:主要注意maxLines而不是lines属性,优点是小于3行不至于有很多空白--><TextViewandroid:id="@+id/tv_des"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="@dimen/margin_016"android:layout_marginRight="@dimen/margin_016"android:layout_marginTop="@dimen/margin_016"android:ellipsize="end"android:maxLines="3"android:textColor="@color/tt_666666"android:textSize="@dimen/text_size_14" /><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/tv_show_more"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_marginRight="@dimen/margin_012"android:padding="@dimen/margin_04"android:text="展开"android:textColor="@color/tt_yellow"android:textSize="@dimen/text_size_14" /></RelativeLayout>

最后还可以在activity中的 onWindowFocusChanged方法处理展开按钮是否显示

@Overridepublic void onWindowFocusChanged(boolean hasFocus) {super.onWindowFocusChanged(hasFocus);if (hasFocus) {if (tvDes.getLineCount() < 3) {//获得textview显示行数不要在设置值后直接获取,可能会得到0,因为内容还没完全加载tvShowMore.setVisibility(View.GONE);}}}

这样就实现了textview内容过多展示问题!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。