android跑马灯效果
public class MarqueeTextView extends TextView {
public MarqueeTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub }
public MarqueeTextView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub }
public MarqueeTextView(Context context) { super(context); // TODO Auto-generated constructor stub }
@Override public boolean isFocused() { // TODO Auto-generated method stub return true; }
@Override public boolean hasFocus() { // TODO Auto-generated method stub return true; }
}
重写TextView的isFocusd方法和hasFocus方法让他们返回true,最后在布局中使用,参考如下就可以了。
<com.XXX.view.MarqueeTextView
android:layout_width="fill_parent"
android:layout_height="40dp"
android:background="#f0000f"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text="这里还是一组跑马灯的文字广告!这里还是一组跑马灯的文字广告!这里还是一组跑马灯的文字广告!这里还是一组跑马灯的文字广告!这里还是一组跑马灯的文字广告!这里还是一组跑马灯的文字广告!这里还是一组跑马灯的文字广告!这里还是一组跑马灯的文字广告!" />
这样一个跑马灯就实现了。