TextView限定行数,点击按钮显示所有内容
2017-11-22 18:17
585 查看
在很多app上能看到文字展示收缩效果,点击展示全部,再点击收缩,显示指定行数的效果,如图:
默认状态:
保持显示不动,展开全部:
实现基本的TextView点击显示所有内容;一开始实现效果很low,基本是局部隐藏显示,这样很不好,后来看到了TextView的setEllipsize属性,一个TextView实现展示收缩功能,保持现实的不变,无卡顿.下面分享下实现代码:
android:maxLines=”2”这儿可以根据自己需要设置默认显示的行数;
设置一个Boolean类型的标志,当点击展开时调用:
则全部显示,设置setEllipsize为null,设置setSingleLine为FALSE;
当收缩时:
则收缩显示,设置setEllipsize为TextUtils.TruncateAt.END,设置setSingleLine为默认显示的行数; 这样就可以实现TextView展开显示全部的功能了;
默认状态:
保持显示不动,展开全部:
实现基本的TextView点击显示所有内容;一开始实现效果很low,基本是局部隐藏显示,这样很不好,后来看到了TextView的setEllipsize属性,一个TextView实现展示收缩功能,保持现实的不变,无卡顿.下面分享下实现代码:
一 xml布局文件
<TextView android:id="@+id/tv_details" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:textColor="#FF2043AC" android:maxLines="2" android:text="这是一个TextView展开效果演示demo,点击展开按钮实现文字全部显示,点击收缩按钮实现文字省略显示"/> <ImageView android:id="@+id/iv_details" android:layout_below="@+id/tv_details" android:layout_width="30dp" android:layout_height="30dp" android:layout_centerHorizontal="true" android:src="@mipmap/details_open" />
android:maxLines=”2”这儿可以根据自己需要设置默认显示的行数;
二 activity中的代码:
public class MainActivity extends AppCompatActivity { private Boolean flag = true; private TextView tv_details; private ImageView iv_details; 4000 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv_details = (ImageView) findViewById(R.id.iv_details); tv_details = (TextView) findViewById(R.id.tv_details); iv_details.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (flag) { flag = false; tv_details.setEllipsize(null); // 展开 tv_details.setSingleLine(flag); iv_details.setImageResource(R.mipmap.details_close); } else { flag = true; tv_details.setEllipsize(TextUtils.TruncateAt.END); // 收缩 tv_details.setMaxLines(2); iv_details.setImageResource(R.mipmap.details_open); } } }); } }
设置一个Boolean类型的标志,当点击展开时调用:
tv_details.setEllipsize(null); tv_details.setSingleLine(flag);
则全部显示,设置setEllipsize为null,设置setSingleLine为FALSE;
当收缩时:
tv_details.setEllipsize(TextUtils.TruncateAt.END); tv_details.setMaxLines(2);
则收缩显示,设置setEllipsize为TextUtils.TruncateAt.END,设置setSingleLine为默认显示的行数; 这样就可以实现TextView展开显示全部的功能了;
相关文章推荐
- 安卓TextView限定行数最大值,点击按钮显示所有内容
- 安卓TextView限定行数最大值,点击按钮显示所有内容
- TextView内容过长显示指定行数加省略号,点击显示全部内容
- Andorid+ ScrollView+ListView动态添加TextView ,点下一步可以内容下移背景色可以变,同时点播放按钮可以自动播放且显示背景色。
- Android TextView内容过长加省略号,点击显示全部内容
- Android TextView内容过长加省略号,点击显示全部内容
- textview内容过多显示省略号,点击展开全部
- TextView内容过长加省略号,点击显示全部内容
- Android TextView内容过长加省略号,点击显示全部内容
- Android TextView内容过长加省略号,点击显示全部内容
- Androi实战—EidtText和TextView显示指定行数,内容过长自动换行问题
- Android TextView内容过长加省略号,点击显示全部内容
- Android TextView内容过长加省略号,点击显示全部内容
- Android 中Textview内容长度一行无法显示时,末端省略,点击后可展开显示
- TextView属性android:ellipsize实现跑马灯效果,TextView内容过长加省略号,点击显示全部内容
- Android TextView内容过长加省略号,点击显示全部内容
- TextView 内容太多用省略号...,点击显示全部
- Android TextView内容过长加省略号,点击显示全部内容
- Android TextView内容过长加省略号,点击显示全部内容
- Android 中TextView内容过长加省略号,点击显示全部内容