有点小疑问
singleLine过时 用lines或者maxLines代替不能实现跑马灯?
singleLine过时 用lines或者maxLines代替不能实现跑马灯?
2017-05-05
跑马灯要启动要同时满足四个条件,其中有一个条件就是这一行的文字长度要大于文字区域的宽度,文字区域的宽度就是TextView的getWidth()扣去ComPoundpaddingLeft再扣去CompoundPaddingRight剩下的长度。
如果是maxLines="1"的话,那么就像上一问中分析的那样,所有的文字其实已经被自动换行了,只显示第一行,而换行是什么,就是为了让每行文字的长度超过文字区域的宽度才进行的换行,也就是说,如果一段文字经过TextView的换行后,那么每行的文字长度都不会超过文字区域的长度。这样一来,自然就不满足跑马灯的启动条件之一了,跑马灯也就不能正常工作了。
singleLine的话,则是不会对一段文字进行换行处理,这样一来,自然就超过了文字区域的长度,所以如果要设置跑马灯效果的话,只能用singleLine不能用maxLines="1"。
举报