跑马灯就是TextView容纳不下内容,需要靠播放动画的形式来显示
1、通常,很多人只需要实现一个TextView的跑马灯,只需要在将textview的属性中加入下面这段即可(具体参数代表的意思,请参考此处http://www.cnblogs.com/over140/archive/2010/08/27/1809745.html)
android:layout_marginRight="20dp"
android:ellipsize="marquee"
android:focusable="true"
android:marqueeRepeatLimit="marquee_forever"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"
android:singleLine="true"
2、但如果需要实现同一页面多个textview的跑马灯时,会发现,永远只有一个textview可以实现,其他都没有任何效果,这是为什么呢?因为跑马灯效果的实现有个很重要的参数就是是否isFocused。所以你只需继承TextView并重写isFocused方法即可,如下:
public class TextViewMarquee extends TextView {
public TextViewMarquee(Context context) {
super(context);
}
public TextViewMarquee(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public TextViewMarquee(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean isFocused() {
return true;
}
}
希望能帮到大家!