安卓开发之多个TextView跑马灯

跑马灯就是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;
	}
}


希望能帮到大家!

原文地址:https://www.cnblogs.com/javawebsoa/p/2989588.html