ViewFlipper简单实现文字上下轮播

ViewFlipper

<ViewFlipper
        android:id="@+id/vf"
        android:layout_width="0dp"
        android:layout_height="36dp"
        android:autoStart="true"
        android:background="@color/colorWhite"
        android:flipInterval="3000"
        android:inAnimation="@anim/anim_marquee_in"
        android:outAnimation="@anim/anim_marquee_out"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toRightOf="@+id/img_notice"
        app:layout_constraintRight_toLeftOf="@+id/txt_order"
        android:layout_marginRight="10dp"
        android:layout_marginLeft="10dp"
        android:paddingLeft="5dp" />

anim_marquee_in

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="1500"
        android:fromYDelta="100%p"
        android:toYDelta="0"/>
</set>

anim_marquee_out

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="1500"
        android:fromYDelta="0"
        android:toYDelta="-100%p"/>
</set>

初始化使用

 vf =findViewById(R.id.vf);
 void initVf() {
        vf.removeAllViews();
        for (int i=0 ;i<10;i++) {
            View view = mInflater.inflate(R.layout.flipper_ad, null);
            vf.addView(view);
        }
    } ```
点赞