布局:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.sign.demo.MainActivity">
<ViewFlipper
android:id="@+id/vf_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:flipInterval="2000">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="开业大酬宾"
android:textSize="16sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="开抢啦"
android:textSize="16sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="欲购从速"
android:textSize="16sp" />
</ViewFlipper>
<ViewFlipper
android:id="@+id/vf_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:flipInterval="2000"
app:layout_constraintTop_toBottomOf="@id/vf_vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="开业大酬宾"
android:textSize="16sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="开抢啦"
android:textSize="16sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="欲购从速"
android:textSize="16sp" />
</ViewFlipper>
</android.support.constraint.ConstraintLayout>
代码:
//竖直方向进入滚出
ViewFlipper vfVertical = findViewById(R.id.vf_vertical);
//进入动画
vfVertical.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.vertical_in));
//滚出动画
vfVertical.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.vertical_out));
vfVertical.startFlipping();
//水平方向进入滚出
ViewFlipper vfHorizontal = findViewById(R.id.vf_horizontal);
//进入动画
vfHorizontal.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.horizontal_in));
//滚出动画
vfHorizontal.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.horizontal_out));
vfHorizontal.startFlipping();
竖直方向进入滚出动画:
vertical_in
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="100%" android:toYDelta="0" android:duration="300"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" />
</set>
vertical_out
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="0" android:toYDelta="-100%" android:duration="300"/>
<alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="300" />
</set>
水平方向进入滚出:
horizontal_in
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromXDelta="100%"
android:toXDelta="0%" />
<alpha
android:duration="300"
android:fromAlpha="0.1"
android:toAlpha="1" />
</set>
horizontal_out
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromXDelta="0%"
android:toXDelta="-100%" />
<alpha
android:duration="300"
android:fromAlpha="1"
android:toAlpha="0.1" />
</set>