Android实现textview文字滚动显示(跑马灯效果)

  • 自定义Textview并对其进行改造,主要目的是让textview获取焦点,这样文字才能滚动起来

    public class MyTextView extends android.support.v7.widget.AppCompatTextView {
        public MarqueeTextView(Context context) {
            super(context);
        }
    
        public MarqueeTextView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        public MarqueeTextView(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
        }
    
        @Override
        public boolean isFocused() {//必须重写,且返回值是true,表示始终获取焦点
            return true;
        }
    }
    
    
  • xml文件中设置必要属性

    <MyTextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:ellipsize="marquee" //设置跑马灯效果
        android:focusable="true" //需要有焦点才会滚动
        android:focusableInTouchMode="true"
        android:marqueeRepeatLimit="marquee_forever" //设置循环滚动为无限循环
        android:scrollHorizontally="true"
        android:singleLine="true" //单行显示
       />
    
    

你可能感兴趣的