textview最多显示3行点击事件展开显示全部

这篇博客介绍了如何设置TextView,使其默认显示三行,点击后展开显示全部内容。利用android.text.TextUtils中的方法实现这一功能。

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

给textview设置一个默认值,让其最多显示三行,当点击按钮的时候全部展开显示,

	tv_person_jieshao_more.setOnClickListener(new OnClickListener() {
			Boolean flag = true;

			@Override
			public void onClick(View v) {
				if (flag) {
					flag = false;
					tv_person_jieshao_content.setEllipsize(null); // 展开
				} else {
					flag = true;
					tv_person_jieshao_content.setEllipsize(TextUtils.TruncateAt.END); // 收缩
				}
			}
		});

xml文件

  <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/pad_height_80" >

                    <TextView
                        android:id="@+id/tv_person_jieshao_content"
                        android:layout_width="match_parent"
                        android:layout_height="@dimen/pad_height_50"
                        android:gravity="center_vertical"
                        android:lines="3"
                        android:paddingBottom="5dp"
                        android:paddingLeft="18dp"
                        android:paddingRight="18dp"
                        android:paddingTop="5dp"
                        android:textColor="#827a7a"
                        android:textSize="@dimen/pad_text_size_12" />
                    <TextView 
                        android:id="@+id/tv_person_jieshao_more"
                        android:layout_width="match_parent"
                        android:layout_height="@dimen/pad_height_15"
                        android:text="查看更多"
                        android:layout_below="@+id/tv_person_jieshao_content"
                        android:textColor="#999999"
                        android:textSize="@dimen/pad_text_size_12"
                        android:gravity="center_horizontal"/>
                </RelativeLayout>
其中 Android为我们提供了一个简单实用的TextUtils类,其引用是

android.text.TextUtils

可用方法有:

是否为空字符 boolean Android.text.TextUtils.isEmpty(CharSequence str) 

拼接字符串 String android.text.TextUtils.join(CharSequence delimiter, Object[] tokens)

拆分字符串 String[] android.text.TextUtils.split(String text, String expression)

拆分字符串使用正则 String[] android.text.TextUtils.split(String text, Pattern pattern)

确定大小写是否有效在当前位置的文本 int android.text.TextUtils.getCapsMode(CharSequence cs, int off, int reqModes)

使用HTML编码这个字符串 String android.text.TextUtils.htmlEncode(String s)

另外,String[] android.text.TextUtils.split(String text, String expression)中的expression较特殊,如果采用

TextUtils.split(someString, "-");
来分割someString的话返回的将是错误结果,正确的用法应该是
TextUtils.split(line, ",|\\-");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值