Android,TextVIew单行加省略号 ...对比较坑的问题

原创 2015年07月07日 11:46:33


<TextView
            android:id="@+id/mTvUser"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:ellipsize="end"
            android:text="张三"
            android:textSize="@dimen/wordSize_nomal"/>


android:singleLine="true"
android:ellipsize="end"

想必大家都知道上面两个属性的作用是什么(未显示完时,在末尾增加省略号),但是有个比较坑的地方是,如果你的set的字符串最后一个字符是一个中文,显示的省略号就是三个点,如果是英文的那么有可能只显示一个点或者两个点

如图:


怎么 解决呢?

需要在代码中设置一下

mTvUser.post(new Runnable() {
                @Override
                public void run() {
                    String ellipsizeStr = (String) TextUtils.ellipsize(mInfo.nickname, (TextPaint) mTvUser.getPaint(), mTvUser.getMeasuredWidth() - 10, TextUtils.TruncateAt.END);
                    Logger.e(TAG, "ellipsizeStr:  "+ ellipsizeStr);
                    mTvUser.setText(ellipsizeStr);
                }
            });



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android中textview单行显示,多余的省略

有时候在ListView中显示Textview时由于长度过长而导致text会隔行显示,UI上看起来就比较的不友好。       官方提供了相关的实现单行显示的方法。        ...

android中TextView实现单行跑马灯

最近为了解决某个bug,textview中内容过长的话自动换行,但是调用measureText函数时发现返回值很不准确,单位也不确定,是pixel还是dip,都不准。后来想起textview中有个内容...

android - TextView单行显示...或者文字左右滚动(走马灯效果)

TextView单行显示,文字左右滚动(走马灯效果)实现条件: 实现单行设置固定宽度或者设置权重都行TextView滚动必须写下面几个属性 android:singleLine="tru...

简易实现 TextView单行文本水平触摸滑动效果

最近做应用的时候有用到TextView单行长文本,当文本内容过长时候又想实现触摸水平滑动效果。网上找了很多,都没有看到有效解决方案。 其中,最常见的也是最笨拙滴采用重写TextView并继承实现tou...

TextView 单行显示长文本

android:singleLine="true"//单行显示 android:ellipsize="end"//省略号出现在末尾

TextView属性大全+单行显示长文本

android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)  androi...

【TextView】Android TextView显示省略号的问题(关于TextView maxLength 和maxEms的学习)

1、TextView的属性maxLength和maxEms学习; 2、为什么有时候设置maxEms没效果 3、TextView省略号的显示...

解决Android中TextView单行设置过时的问题

被标注为过时 android:singleLine="true" 替代 android:maxLines="1" android:ellipsize="end"...

TextView限制多行,超出内容时用省略号显示

我们都知道 TextView单行省略号表示直接写两个属性就可以了android:singleLine="true" android:ellipsize="end"现在singleLine属性过时了,现...
  • Andy_l1
  • Andy_l1
  • 2017年06月15日 10:13
  • 358

Android中TextView内容过长加省略号,设置超出6个字就用省略号表示

http://www.linuxidc.com/Linux/2011-09/43215.htm textview中有个内容过长加省略号的属性,即ellipsize,用法如下:  在xml中  A...
  • Rodulf
  • Rodulf
  • 2016年06月12日 11:24
  • 6032
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android,TextVIew单行加省略号 ...对比较坑的问题
举报原因:
原因补充:

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