作者:手机用户2502922415_737 | 来源:互联网 | 2023-05-18 07:30
publicclassAlwaysMarqueeScrollViewextendsTextView{com.duopin.app.AlwaysMaguequeScrollViewpub
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引用:
android:id="@+id/lunar_txtv"
android:gravity="center"
android:layout_
android:layout_
android:text="@string/hello"
android:ellipsize="marquee"
android:scrollHorizOntally="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:focusable="true"
/>