若要让TextView里的文本滚动,必须满足以下几个因素:
1.TextView里文本宽度超过TextView的宽度
android:singleLine=”true”(已过时)
android:lines=”1”
2.设置ellipsize属性
android:ellipsize=”marquee”
3.只有在TextView获取到焦点时,才会滚动.所以加上
android:focusableInTouchMode=”true”
android:focusable=”true”
4.滚动重复次数设置:
android:marqueeRepeatLimit=”marquee_forever”(1代表1次,-1代表无限循环。)
自定义控件MarkqueeText重写父类方法
public class MarkqueeText extends TextView {
public MarkqueeText(Context context) {
super(context);
}
public MarkqueeText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MarkqueeText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public boolean isFocused() {
return true;
}
}
Activity代码:
MarkqueeText.setHorizontallyScrolling(true); //让文字可以水平滑动