TextView滚动显示

在Android中,如果需要设置TextView滚动显示,则必须ellipsize、focusable、singleLine这几个属性


如果页面包括多个滚动显示的TextView,默认情况下,只会有一个TextView可以滚动显示,因为滚动显示需要获取焦点。为了都能够滚动显示,可以让TextView的isFocused()方法返回true,这样就可以获取到焦点。自定义TextView代码如下:

public class MarqueeTextView extends AppCompatTextView {
    public MarqueeTextView(Context context) {
        super(context);
    }

    public MarqueeTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MarqueeTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean isFocused() {
        return true;
    }
}

某种情况下(如:将页面显示在第二显示器),TextView显示全英文字符,会出现滚动不正常(跳动),笔者不知道这是什么情况,但是全英文字符插入一个中文字符,则滚动显示正常。

你可能感兴趣的:(TextView滚动显示)