public class AlwaysMarqueeScrollView extends TextView {
// com.duopin.app.AlwaysMaguequeScrollView
public AlwaysMarqueeScrollView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public AlwaysMarqueeScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public AlwaysMarqueeScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
@Override
public boolean isFocused() {
return true;
}
@Override
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
// TODO Auto-generated method stub
// fobid call parent constructor
// super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
}
关于MarqueeText类中为什么要复写onFocusChanged()方法,那是因为如果不写,在Textview 获得焦点后,再失去焦点时 字就会停止“跑”了,所以如果想让它一直跑下去就复写onFocusChanged(),并且里面什么也不做(主要是不能调用父类的方法)
XML引用:
<com.app.AlwaysMarqueeScrollView
android:id="@+id/lunar_txtv"
android:gravity="center"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:text="@string/hello"
android:ellipsize="marquee"
android:scrollHorizontally="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:focusable="true"
/>