JosonChou 2017-07-18
亲测可能。直接上代码。
测试机器: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并不能滚动。不知道为什么。如果有知道原因的,或者有更好的写法的,欢迎大家热烈谈论。