跑马灯就是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; } }
希望能帮到大家!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)