Android TextView内容过长加省略号,点击显示全部内容
2013-03-29 1 个评论 作者:维王
收藏 我要投稿

在AndroidTextView中有个内容过长加省略号的属性,即ellipsize,用法如下:

在xml中:
android:ellipsize="end"   省略号在结尾
android:ellipsize="start"   省略号在开头
android:ellipsize="middle" 省略号在中间
android:ellipsize="marquee" 跑马灯
最好加一个TextView显示行数的约束,例如:android:singleline="true"或者android:lines="2"

在java文件中:
tv.setEllipsize(TextUtils.TruncateAt.valueOf("END"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("START"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MIDDLE"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE"));
最好加一个TextView显示行数的约束,例如:tv.setSingleLine(true);
不仅对于textview有此属性,对于editext也有,不过它不支持marquee。
文字展开和收缩
public class DemoActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); // 在xml文件中设置了android:singleline="true"
final TextView tv = (TextView)findViewById(R.id.task_2_title);
//tv.setMovementMethod(ScrollingMovementMethod.getInstance());
tv.setOnClickListener(new OnClickListener() {
Boolean flag = true;
@Override
public void onClick(View v) {
Log.i("tv.getLineCount()",tv.getHeight()+"");
if(flag){

flag = false;
tv.setEllipsize(null); // 展开
//tv.setSingleLine(flag);
}else{
flag = true;
tv.setEllipsize(TextUtils.TruncateAt.END); // 收缩
//tv.setSingleLine(flag);
}
}
});
}
}其实,只是把样式清空而已。就能完全展开了。有人可能要说,万一我想初始几行呢?放心,一样可以。上代码:在xml文件中设置了如下属性:android:lines="4" //我初始化的4行 Activity那边代码一样,只改一点 if(flag){
flag = false;
tv.setEllipsize(null); // 展开
tv.setSingleLine(flag);
}else{
flag = true;
tv.setEllipsize(TextUtils.TruncateAt.END); // 收缩
}

设置setSingleLine的目的是为了取消lines==“4”这个固定值

更多相关文章

  1. android RelativeLayout 属性学习
  2. Android之ListView中的分割线
  3. Android(安卓)TextView内容过长加省略号,点击显示全部内容
  4. android EditText中inputType的属性列表
  5. android中view的一些属性
  6. Android(安卓)的Margin和Padding属性以及支持的长度单位
  7. Android(安卓)ListView重要美化属性
  8. Android(安卓)的Margin和Padding属性以及支持的长度单位
  9. Android】Android(安卓)apk默认安装位置设置

随机推荐

  1. 中国网络“野蛮生长”的20年
  2. 一种etcd容灾备份的设计与实现
  3. VS经常提示函数不安全(报错、报警告),该怎
  4. Logstash 之 重要插件
  5. Python是什么?Python有哪些框架?
  6. 自动修改centos服务器IP地址
  7. YUM变量缺失导致的问题小记
  8. 如何去使用Python爬虫来爬取B站的弹幕数
  9. Rancher面板权限配置
  10. Docker遇到Syslog的踩坑小记