美文网首页
singleLine 和 maxLines

singleLine 和 maxLines

作者: 喜悦De120 | 来源:发表于2017-10-20 13:07 被阅读0次

设置文字单行显示一般是如下两种写法

android:maxLines="1"
android:maxLines="1" 

但是用 singleLine 的时候会提示下图

image.png

建议我们用 maxLines = 1 替换 singleLine,这导致很多人会以为这两者是等价的。
然后我最近遇到的一个问题,然后发现这两个其实还是有区别的!

问题是这样,一个textview设置了单行显示文字,但是发现文字会比截取一半,如下图

QQ图片20171020115612.jpg

图中的文字被截断了一半,这样的显示效果肯定是不能接受了,中间尝试了各种别的办法都没有解决这个问题,最后的最后,才发现是singleLine的锅。

singleLine是将TextView内的所有问题排在了同一行,强制不换行,超过TextView宽度的部分我们只是看不到,但是其实还是在后面的。
maxLines是限制TextView的最大行数,而我们可以设置值为1来达到单行显示的效果

举个列子,现在的文字正常展示需要3行,而singleLine是将这3行的文字都展示在第一行里,而 maxLines是有换行策略的,但是只展示给我们第一行。这也就是上面说的我遇到的问题的原因,maxLines会自动换行,所以不会出现文字被截断,而singleLine是一个横向的平铺,遇到TextView的边界的时候会被截断。

而后事实就是我将代码里的 singleLine 换成 maxLines = 1 该问题就得以解决了。

相关文章

网友评论

      本文标题:singleLine 和 maxLines

      本文链接:https://www.haomeiwen.com/subject/qyamuxtx.html