在实际的开发中,我们有时候需要滚动的显示信息,这就是我们所说的跑马灯效果。
Android中的TextView可以很容易的显示这个效果,只需要添加以下属性就可以了
android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:singleLine="true"
为了是跑马灯无论在什么情况下都能跑起来,这里需要自定义一个TextView,它继承TextView,并且重写isFocuse()方法,让它永远返回true,
这样跑马灯效果就能一直的跑起来了。
public class MarqueeTextView extends TextView { public MarqueeTextView(Context context) { super(context); } public MarqueeTextView(Context context, AttributeSet attrs) { super(context, attrs); } public MarqueeTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public boolean isFocused() { return true; } }
在xml中引用
<com.heynine.widget.view.MarqueeTextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:singleLine="true" android:text="@string/marquee_text1" /> <com.heynine.widget.view.MarqueeTextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:singleLine="true" android:text="@string/marquee_text2" />
效果图如下