您的位置:首页 > 移动开发 > Android开发

Android中TextView实现跑马灯效果

2017-02-20 22:35 555 查看
import android.content.Context;
import android.graphics.Rect;
import android.text.TextUtils.TruncateAt;
import android.util.AttributeSet;
import android.widget.TextView;

/**
*
* 走马灯效果控件
*
*  Created by zhx on 2017/02/17
*/
public class CustomMarqueeTextView extends TextView {

/**
* @param context
*/
public CustomMarqueeTextView(Context context) {
this(context, null);
}

/**
* @param context
* @param attrs
* @param defStyle
*/
public CustomMarqueeTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setSingleLine(true);
setEllipsize(TruncateAt.MARQUEE);
setFocusable(true);
setFocusableInTouchMode(true);
setMarqueeRepeatLimit(-1);
}

/**
* @param context
* @param attrs
*/
public CustomMarqueeTextView(Context context, AttributeSet attrs) {
this(context, attrs,0);

}

/**
* 获取焦点,一直滚动
* */

public boolean isFocused() {
return true;
}
/**
* 被其他组件抢去焦点时调用
* */
protected void onFocusChanged(boolean focused, int direction,
Rect previouslyFocusedRect) {
if (focused) {
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
}

/**
* 被其他窗体抢去焦点时系统调用
* */
public void onWindowFocusChanged(boolean hasWindowFocus) {
if (hasWindowFocus) {
super.onWindowFocusChanged(hasWindowFocus);
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息