平常我们使用textview实现跑马灯一般是这样使用的:
<TextView
android:layout_width="60dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:text="这是一个很长的跑马灯textview">
</TextView>
但是今天在进行简聆开发时,准备给名字很长的歌曲使用这个效果,却发现无效
去网上查了很久也没查到
最后打开自己以前的某个项目,发现还有一种实现方式
采用这种方式之后便有用了。
目前不知道原因,如果有遇到类似情况的可以看下面的解决方案:
首先xml里有几个必须的属性这样写:
android:singleLine="true" android:text="一个很长的textview" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever"
然后回到代码部分,加上这一句
mtextview.setSelected(true);//开启跑马灯效果
这样就可以实现跑马灯效果了。