自定义一个MyMarqueeTextView extends TextView,重写他的三个构造方法,还有要重写isFocused方法,并返回true
{
public AlwaysMarqueeTextView(Context context) {
super(context);
}
public AlwaysMarqueeTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AlwaysMarqueeTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean isFocused() {
return true;
}
textView在布局文件中设置如下属性:
1.android:singleLine="true"
2.android:ellipsize="marquee"
3.android:focusableInTouchMode=“true”
4.android:focusable=“true”
基本上使用自定义的MyMarqueeTextView 以及在布局文件中设置了上面四个属性之后,就能在多个view的布局文件中正常的滚动了,如果不能,尝试加上下面的几个属性:
1.android:scrollHorizontally=“true”
2. android:marqueeRepeatLimit=“marquee_forever”
再如果TextView放置在layout中,而layout也设置了android:focusable =“true”,那么此时可以在layout中加个属性addStatesFromChildren=“true",即父控件子控件都能获得焦点。