有时候我们有这样的需求,在textView在跑马灯的状态下,还必须让其他的组件还可处于点击状态,这是我们就要自定义textView了,在自定义的组件中实现这个功能。
代码如下:
public class marTextView extends TextView{
public marTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public marTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public marTextView(Context context) {
super(context);
}
@Override
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
if(focused)
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
@Override
public void onWindowFocusChanged(boolean focused) {
if(focused)
super.onWindowFocusChanged(focused);
}
@Override
public boolean isFocused() {
return true;
}
}
然后在xml中引用这个自定义组件,将其中属性设置为:
android:ellipsize="marquee"
android:singleLine="true"
android:marqueeRepeatLimit="marquee_forever"
这样就OK了。