Android TextView内容过长加省略号

转载 2015年07月07日 22:34:26
Android TextView内容过长加省略号,点击显示全部内容
2013-03-29      1 个评论       作者:维王
收藏    我要投稿

Android TextView中有个内容过长加省略号的属性,即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”这个固定值

TextView内容过长加省略号

Android TextView内容过长加省略号,点击显示全部内容 2013-03-29      0 个评论       作者:维王 收藏    我要投稿 在Andro...
  • nm222huan
  • nm222huan
  • 2015年03月16日 00:03
  • 176

Android中TextView内容过长加省略号

textview中有个内容过长加省略号的属性,即ellipsize,用法如下:  在xml中  android:ellipsize = "end"    省略号在结尾  android:elli...
  • huluhong
  • huluhong
  • 2014年07月18日 11:02
  • 674

Android自定义TextView省略号样式

在布局xml中设置textView的字段 android:maxLines="2"  android:ellipsize="end"字段之后,textview会自动压缩行数,并且对压缩掉的部分用......
  • lvshaorong
  • lvshaorong
  • 2015年12月06日 22:44
  • 3386

Android TextView内容过长加省略号,点击显示全部内容

在Android TextView中有个内容过长加省略号的属性,即ellipsize,用法如下: 在xml中: android:ellipsize="end"     省略号在结尾 andr...
  • zqs62761130
  • zqs62761130
  • 2015年01月29日 22:23
  • 657

Android Textview 显示固定字数 省略号表示多余部分

最近公司项目有个需求,就是通过列表显示消息提醒。不过列表只是预览作用,不可能放过多的消息内容进去, 假设这样效果 代码片段(ps:主要是内容的textview) ...
  • lvi_166
  • lvi_166
  • 2016年12月20日 13:38
  • 6568

Android TextView内容过长加省略号,点击显示全部内容

这是详情页面: 大多数标题一行能显示完,但是一部分的标题过长,在app上显示不完 ,弄2行不美观,一行又不满足需求so………. ...
  • qq_21036939
  • qq_21036939
  • 2015年12月24日 13:59
  • 721

Android TextView内容过长加省略号,点击显示全部内容

在Android TextView中有个内容过长加省略号的属性,即ellipsize,用法如下: 在xml中: android:ellipsize="end"     省略号在结尾 andr...
  • iiidasol
  • iiidasol
  • 2014年03月20日 14:10
  • 3682

Android之TextView实现文字过长时省略部分或者滚动显示

TextView中有个ellipsize属性,作用是当文字过长时,该控件该如何显示,解释如下: 1.android:ellipsize=”start”—–省略号显示在开头 2.android:el...
  • zjzjt
  • zjzjt
  • 2016年02月25日 09:00
  • 5571

Textview内容过多,尾部显示省略号或【更多】

一先看图 二、TextView 内容过多,直接设置 maxLines 和ellipsize=end 效果如图 上方TextView 三、尾部添加[更多内容],一开始想通过相对布局实现,发现不太可能...
  • qq_29988575
  • qq_29988575
  • 2016年01月08日 15:40
  • 1111

TextView 设置显示省略号

限制TextView显示的字符数,多出的部分显示省略号。 效果图如下: 自定义EllipsizingTextView.java,(com.example.user.helloworld.Ell...
  • hxltech
  • hxltech
  • 2016年07月29日 14:29
  • 1721
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android TextView内容过长加省略号
举报原因:
原因补充:

(最多只允许输入30个字)