package com.ittianyu.mobileguard.view; import android.annotation.TargetApi; import android.content.Context; import android.os.Build; import android.text.TextUtils; import android.util.AttributeSet; import android.widget.TextView; /** * An auto rolling TextView */ public class MarqueeTextView extends TextView { public MarqueeTextView(Context context) { super(context); initAttrs(); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public MarqueeTextView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); initAttrs(); } public MarqueeTextView(Context context, AttributeSet attrs) { super(context, attrs); initAttrs(); } public MarqueeTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initAttrs(); } /** * init attrs of TextView */ private void initAttrs() { this.setEllipsize(TextUtils.TruncateAt.MARQUEE); this.setSingleLine(true);// only this can be useful // this.setLines(1); // can't get the same effect to setSingleLine // this.setSelected(true); // this.setFocusable(true); // this.setFocusableInTouchMode(true); } /** * always return true to make it auto rolling * * @return true */ @Override public boolean isFocused() { return true; } }