前言
- ViewFlipper是一个视图切换控件,用于视图之间的切换,并且支持添加切换动画,简单易用!
使用
- 在布局中使用ViewFlipper
属性 | 解析 |
---|---|
android:autoStart | 是否自动切换视图 |
android:flipInterval | 设置视图之间切换时间间隔 |
android:inAnimation | 设置视图的进入动画 |
android:outAnimation | 设置视图的退出动画 |
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ViewFlipper
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/viewFlipper"
android:autoStart="true"
android:flipInterval="3000"
android:inAnimation="@anim/anim_in"
android:outAnimation="@anim/anim_out">
<TextView
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="怎么样啊!"
android:textSize="24sp"
android:gravity="center"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="还可以吧!"
android:textSize="24sp"
android:gravity="center"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="快试一下吧!"
android:textSize="24sp"
android:gravity="center"/>
</ViewFlipper>
</LinearLayout>
anim_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- translate:平移动画 -->
<translate
android:duration="500"
android:fromXDelta="100%p"
android:toXDelta="0" />
<!-- alpha:透明动画 -->
<alpha
android:duration="500"
android:fromAlpha="0.1"
android:toAlpha="1.0" />
<!-- scale:缩放动画 -->
<scale
android:fromXScale="0.2"
android:toXScale="1.0"
android:fromYScale="0.2"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="500"/>
</set>
anim_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- translate:平移动画 -->
<translate
android:duration="500"
android:fromXDelta="0"
android:toXDelta="-100%p" />
<!-- alpha:透明动画 -->
<alpha
android:duration="500"
android:fromAlpha="1.0"
android:toAlpha="0.1" />
<!-- scale:缩放动画 -->
<scale
android:fromXScale="1.0"
android:toXScale="0.2"
android:fromYScale="1.0"
android:toYScale="0.2"
android:pivotX="50%"
android:pivotY="50%"
android:duration="500"/>
</set>
- 在代码中使用ViewFlipper
方法 | 解析 |
---|---|
isFlipping | 是否正在切换视图 |
setFilpInterval | 设置视图之间切换时间间隔 |
startFlipping | 开始切换视图(循环) |
stopFlipping | 停止切换视图 |
setInAnimation | 设置视图的进入动画 |
setOutAnimation | 设置视图的退出动画 |
showNext | 切换到上一个视图 |
showPrevious | 切换到下一个视图 |
ViewFlipper viewFlipper=(ViewFlipper) findViewById(R.id.viewFlipper);
viewFlipper.setFlipInterval(3000);
viewFlipper.setInAnimation(this,R.anim.anim_in);
viewFlipper.setOutAnimation(this,R.anim.anim_out);
viewFlipper.startFlipping();