[原创] 开启 Android TextView Marquee

亲测可能。直接上代码。

测试机器:XiaoMi2SAndroid5.0

<TextView
    android:id="@+id/toolbar_title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:fadingEdge="none"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:freezesText="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:scrollHorizontally="true"
    android:textColor="#fff"
    android:textSize="16sp" />
mToolbarTitle.setSelected(true);

说明:

XML中以下几行是必须的:

android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"

最后别忘了,JAVA中还需要调用TextView的setSelected(true)方法。

特别注意:

目前发现,android:singleLine="true"这种写法需要已经被废弃了,但是目前只能这么写Marquee才能生效。如果换成最新的写法android:maxLines="1",你会发现,Marquee并不能滚动。不知道为什么。如果有知道原因的,或者有更好的写法的,欢迎大家热烈谈论。

相关推荐