android学习ViewFlipper的使用

时间:2022-03-10 14:53:44

  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);
}