之前想做一下TextView跑马灯的效果,幸运的是网上有很多文章在讲,android:ellipsize=”“这个属性,通过该属性就可以来控制TextView的跑马灯效果,那么先来看看这个属性的意思吧。当字符内容太长显示不下时可以省略号代替未显示的字符;省略号可以在显示区域的起始,中间,结束位置,或者以跑马灯的方式显示文字(textview的状态为被选中)。
其实现只需在xml中对textview的ellipsize属性做相应的设置即可。
android:ellipsize="start" 省略号在开头
android:ellipsize="middle" 省略号在中间
android:ellipsize="end" 省略号在结尾
android:ellipsize="marquee" 跑马灯显示
或者在程序中可通过setEillpsize显式设置。另外需要强调的是,我们要加上TextView单行显示的属性android:singleLine=”true”,要不然,TextView的内容会随着你的输入没有尽头的显示。
下面本文重点,通过以上方法还不足以是的TextView出现跑马灯的效果,本人亲测过。这里还需要另一个属性android:textIsSelectable=”true”,原文是这样的解释:Indicates that the content of a non-editable text can be selected. Must be a boolean value, either “true” or “false”.我把它简单的翻译成:不能编辑的文本,但可以被选择,通过true和false来设定。总之,加上这个属性之后,就可以实现跑马灯的效果了,由于本人技术有限,具体原因也不是清楚,希望知道的小伙伴能告诉我一下,不胜感激。
总结:TextView实现跑马灯的滚动效果方法如下:
android:ellipsize=”marquee”
android:singleLine=”true”
android:textIsSelectable=”true”