ViewFlipper继承于ViewAnimator,为两个或者多个页面间的切换提供了一种简单的方式。如果有需要,可以在多个页面中自动切换。
在XML文件中定义ViewFlipper布局
‘
<ViewFlipper
android:id="@+id/view_flipper"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ViewFlipper>
为ViewFlipper加入子视图
ViewFlipper的子视图可以直接定义在xml文件中,也可以使用动态加入的方式:
viewFlipper = (ViewFlipper) findViewById(R.id.view_flipper);
for (int i = 0; i < resId.length; i++) {
viewFlipper.addView(getImageView(resId[i]));
}
addView() 方法接收一个View作为参数,为此,我们写一个getImageView()方法返回View对象:
private ImageView getImageView(int resId) {
ImageView v = new ImageView(this);
v.setBackgroundResource(resId);
return v;
}
上面图片资源是事先准备好的,保存在resId[]数组中。
设置动画属性
viewFlipper.setInAnimation(this, R.anim.left_in);
viewFlipper.setOutAnimation(this, R.anim.left_out);
viewFlipper.setFlipInterval(3000);
viewFlipper.startFlipping();
上面的代码设置了图片自动切换的动画
- setInAnimation(): 视图进入时动画
- setOutAnimation(): 视图退出时动画
- setFlipInterval(): 视图切换间隔
- startFlipping(): 开始动画切换