android系统自带的多页面管理控件,它可以实现子页面的自动切换
1,为ViewFlipper添加View
静态导入:在layout布局文件中直接导入
动态导入:通过addview方法进行导入
2,viewflipper常用方法
setInAnimation 设置view进入屏幕时使用的动画
setOutAnimation 设置view退出屏幕时使用的动画
showNext 调用该函数显示viewflipper中的下一个view
showprevious 调用该函数显示viewflipper中的上一个view
setFlipInterval 设置view之间切换的时间间隔
startFlipping 使用上面设置的时间间隔来开始切换所有的view,切换回循环进行
stopFlipping 停止自动切换
demo是一个图片的自动切换
第一步:添加几张图片到drawable目录下,a.png,b.png,c.png,d.png;
第二步:在MainActivity中定义资源id数组
private int []resId={R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d}
第三步:定义一个获取imageView的接口
public ImageView getImageView(int resId){
ImageView imageView = new ImageView(this);
imageView.setBackgroundResource(resId);//铺满整个屏幕
return imageView;
}
第四步:为ViewFlipper添加view
viewFlipper = (ViewFlipper)findViewById(R.id.viewFlipper);
for(int i = 0;i<resId.length;i++){
viewFlipper.addView(getImageView(resId[i]));
}
第五步:设置ViewFlipper切换属性
viewFlipper.setFlipInterval(1000);
viewFlipper.startFlipping();
第六步:添加手指滑动事件
@Override
public boolean onTouchEvent(MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
{
startX = event.getX();
break;
}
case MotionEvent.ACTION_MOVE:{
if(startX-event.getX()>100){
viewFlipper.showNext();
}
else{
viewFlipper.showPrevious();
}
break;
}
case MotionEvent.ACTION_UP:{
}
}
return super.onTouchEvent(event);
}