多字文本android:ellipsize属性不正常工作的解决办法
16lz
2021-01-25
当TextView中的文本内容长度超过了TextView的宽度,如果是单行,超出部分将被截断,此时我们都会使用android:ellipsize,该属性可以用了来省略显示文本,但很可能不像我们原以为的那样工作。
比如,我们配置了这样一个标准的TextView
-
- android:text="如果是一段很长的文本,内容长度超出了这个View的宽度,我们想要一行显示,且超出部分在末端以省略号'……'表示,但实际上没有这样工作,而是文本超出的多余的部分被截断了。如:文本内容为'My name is Eric, i am a good boy.'被截断成了'My name is Eric'而不是'My name is Eric.....' "
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:maxLines="1"
- android:ellipsize="end" />
可以设置singleLine="true"解决问题,然而这个方法已经被废弃了不推荐使用,我们可以简单实现和singleLine相同的效果(红字部分)。正常工作的解决办法如下:
android:ellipsize="end"
android:lines="1" android:scrollHorizontally="true"
更多相关文章
- 为什么要学习 Markdown?究竟有什么用?
- Android(安卓)根据EditText搜索框ListView动态显示数据
- Android(安卓)读取工程中的txt文件
- Android基础入门教程——2.3.1 TextView(文本框)详解
- 安卓布局中layout_gravity和gravity的区别
- android 系统调用大全
- Android中的ListView内容刷新问题
- Android应用实例(一)之---有道辞典VZ.0
- 再见 Android(安卓)Market,你好 Google Play!