TextView文字跑马灯效果

来源:互联网 发布:安装ubuntu u盘 编辑:程序博客网 时间:2024/05/21 11:04

项目中要用到跑马灯效果,如下:
这里写图片描述
虽说看起来挺简单,但还是踩了好几个坑,故此记录一下。


刚开始的时候以为设置以下两个参数就好:

android:lines="1"android:ellipsize="marquee"

“ellipsize”参数代表text view文字设置一行显示的时候文字显示不下将以何种方式显示,总共有5个参数:

  • start:表示将文字开头省略,用“…”代替
  • middle:表示将文字中间省略,用“…”代替
  • end:表示将文字末尾省略,用“…”代替
  • marquee:表示当文字一行展示不下时,以跑马灯滚动效果展示
  • none:即默认,没有任何效果

但是设置marquee之后发现并没有效果,后来网上查阅资料,又添加了以下参数:

android:focusable="true"android:focusableInTouchMode="true"android:marqueeRepeatLimit="marquee_forever"注:以上代码少一行都会导致没有效果

但当我使用的时候还是不行,于是我又把网上的代码直接粘过来,好使了。。。我只好一行一行检查代码,看哪里跟人家不一样,后来发现只有一处不同。
在限制文字行数的时候我用的是:

android:lines="1"

人家用的是:

android:singleLine="true"

我之后也改为singleLine,效果果然有了。


在用singleLine的时候,studio会有方法过时提示:
这里写图片描述
官方推荐使用maxLines代替,但是当我使用maxLines的时候,效果又没了,只好换回来,有知道的请解答一下,谢谢!

原创粉丝点击