一、概念
ViewFlipper是用于实现轮播的控件。
二、常用方法
setInAnimation:设置View进入屏幕时候使用的动画。
setOutAnimation:设置View退出屏幕时候使用的动画。
showPrevious:显示ViewFlipper里面的上一个View。
showNext :显示ViewFlipper里面的下一个View。
setFlipInterval:设置View之间切换的时间间隔。
startFlipping:使用setFlipInterval方法设置的时间间隔来开始切换所有的View,切换会循环进行。
stopFlipping:停止View切换。
isFlipping:用来判断View切换是否正在进行。
setDisplayedChild:切换到指定子View。
三、使用
private void setViewFlipper() {
mViewFlipper = (ViewFlipper) findViewById(R.id.flipper);
//添加要滚动的View
mViewFlipper.addView(getImageView(R.drawable.abcde_a));
mViewFlipper.addView(getImageView(R.drawable.abcde_b));
mViewFlipper.addView(getImageView(R.drawable.abcde_c));
//设置开始和结束动画
mViewFlipper.setInAnimation(this, R.anim.push_up_in);
mViewFlipper.setOutAnimation(this, R.anim.push_up_out);
//设置间隔时间
mViewFlipper.setFlipInterval(3000);
//动画的监听
mViewFlipper.getInAnimation().setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
//动画开始时
}
@Override
public void onAnimationEnd(Animation animation) {
//动画结束时
}
@Override
public void onAnimationRepeat(Animation animation) {
//重复
}
});
//开始轮播
mViewFlipper.startFlipping();
}
private ImageView getImageView(int res) {
ImageView imageView = new ImageView(this);
imageView.setBackgroundResource(res);
return imageView;
}