美文网首页
TextView滚动显示

TextView滚动显示

作者: Charein | 来源:发表于2018-03-01 14:30 被阅读0次

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

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:focusable="true"     
        android:marqueeRepeatLimit="marquee_forever"
        android:singleLine="true"
        android:text="我是中国人我是中国人我是中国人我是" />
    

    如果页面包括多个滚动显示的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滚动显示

          本文链接:https://www.haomeiwen.com/subject/hlvgxftx.html