首先我们要实现走马灯这样一个效果,通常来说都是在TextView这个控件中来实现的,而且其中的文字一定是单行显示,如果多行显示,那走马灯效果也就失去了存在的意义。谈到TextView的跑马灯,我们首先应该想到android:ellipsize="marquee"(start、end属性表示前或者后省略),而如果要在view中实现跑马灯功能,就需要TextView改为Button,开启触控焦点在开启状态android:focusableInTouchMode="true",否则是不会看到跑马灯效果的。
未用自定义TextView实现跑马灯代码:
<Button
android:focusableInTouchMode="true"
android:singleLine="true"
android:ellipsize="marquee"
android:text="未使用自定义TextView的跑马灯效果"
android:textSize="18sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
下面使用自定义TextView实现跑马灯:
先编写自定义TextView
package com.zebra