那么…思路就有了…我们重写一个TextView让他一直都获得焦点…是不是就可以实现一直跑动了呢…
我们新建一个类Focusedtrue4TV.java,让他继承TextView添加他的构造方法后覆写他父类的方法isFocused();
如下:
public class Focusedtrue4TV extends TextView {
public Focusedtrue4TV(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean isFocused() {
// TODO Auto-generated method stub
return super.isFocused();
}
}
我们可以看到isFocused()方法返回的是调用父类的isFocused();
直接让他返回true就可以实现让TextView永远都是获得焦点的状态进而实现我们想要的的效果…
如下:
public class Focusedtrue4TV extends TextView {
public Focusedtrue4TV(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean isFocused() {
// TODO Auto-generated method stub
return true;
}
}
这时…在我们需要用到这个效果的地方添加上这个我们自定义的控件…然后在控件上加上如下两个属性…
android:singleLine="true"
android:ellipsize="marquee"
即可…当然此方法在ListView中依然可以应用!