Bootstrap

Android Studio中TextView实现跑马灯效果

自建一个MarqueeText 类 继承自AppCompatTextView并重载父类的三个构造方法,添加一个isFocused方法

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

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

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

    public boolean isFocused(){
        return true;
    }
}

在xml中使用自建的MarqueeText类 并添加四个属性

<com.example.administrator.jyly.MarqueeText
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="102dp"
        android:text="这是一个长textview,这是一个长textview,这是一个长textview,这是一个长textview,这是一个长textview"

        android:ellipsize="marquee"//实现跑马灯效果

        android:focusable="true"//是否获取焦点

        android:focusableInTouchMode="true"//使用Touch获取焦点

        android:singleLine="true"//单行显示

        android:marqueeRepeatLimit="marquee_forever"//循环滚动,设为正数则代表滚动次数/>

;