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); } } }
Android中TextView实现跑马灯效果
最新推荐文章于 2024-03-13 10:15:35 发布