所谓跑马灯效果就是当文字超过控件所能容纳的空间时,在控件内滚动的效果。
要实现这样的效果需要在布局文件中加上:
android:singleLine=”true”
android:ellipsize=”marquee”
android:focusableInTouchMode=”true”
android:focusable=”true”
需要注意的是:layout_width=”"要写成固定值,不能是wrap_content或者fill_parent,而且要比text长度长。另外还可以设置滚动的次数android:marqueeRepeatLimit=”";
android:marqueeRepeatLimit=”marquee_forever”表示一直滚动。
但是这种跑马灯只有在控件获得焦点时在能滚动,要想让控件里的内容一直滚动就要定制该控件,重写里面的三个方法:
package cn.etzmico.marqueetest;
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.widget.Button;
public class MarqueeButton extends Button {
public MarqueeButton(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
@Override
protected void onFocusChanged(boolean focused, int direction,
Rect previ

本文介绍了Android中实现跑马灯效果的方法,包括在布局文件中设置属性以及如何通过自定义控件和重写相关方法来实现在任何时候都能滚动的文字效果。
最低0.47元/天 解锁文章
7万+

被折叠的 条评论
为什么被折叠?



