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并不能滚动。不知道为什么。如果有知道原因的,或者有更好的写法的,欢迎大家热烈谈论。