Android的页面管理控件ViewFlipper

ViewFlipper可以实现子界面的自动切换
常用方法有:
  • setInAnimation :设置view进入屏幕时候使用的动画
  • setOutAnimation:设置View退出屏幕使用的动画
  • showNext:调用这个该函数来实现ViewFlipper里面的下一个View
  • showprevious:调用该函数来显示ViewFilpper里面的上一个View
  • setFlipInterval:设置View之间的切换的时间间隔
  • srartFlipping:使用上面设置的时间间隔来开始切换所以的View,切换将会循环进行
  • stopFlipping:停止View切换

example:
//实现imageview自动切换的代码
-------------------------------------------------------------------------------------------------------------------
/*     首先在.xml文件中声明好ViewFlipper
*     并且在mainActivity中实例化
*     实例化后可调用上面提到的函数设置间隔 动画等等进行设置
*     设置完毕后通过.addview方法 添加要显示的view对象
*     最后调用.startFlipper方法启动自动切换    
*/
 viewflipper =(ViewFlipper) findViewById(R.id.viewFlipper);
  //动态方式导入为ViewFlipper加入子View
  for(int i=0;i<resid.length;i++){
   viewflipper.addView(getImageView(resid[i]));
  }
  viewflipper.setFlipInterval(3000);
  viewflipper.startFlipping();
 }
/*
*      在这里通过一个函数 来获取imageView对象
*      其中用setbackgroundResource而不用imageResource
*    是因为imageResource会根据原来的图片尺寸大小来显示
*/
private ImageView getImageView(int resid){
  ImageView image = new ImageView(this);
  //image.setImageResource(resid);
  image.setBackgroundResource(resid);
  return image;
}
------------------------------------------------------------------------------------------------------------------
example2:
/*
*     实现触控切换
*     需要在mainActivity中实现public boolean onTouchEvent(MotionEvent event)方法
*/
 public boolean onTouchEvent(MotionEvent event) {
  // TODO Auto-generated method stub
  switch (event.getAction()) {
  case MotionEvent.ACTION_DOWN:{//手指落下
   start=event.getX();
   break;
  }
  case MotionEvent.ACTION_MOVE:{//手指滑动
   if(event.getX()-start>80){
    viewflipper.showPrevious();
   }
   if(start-event.getX()>80){
    viewflipper.showNext();
   }
   break;
  }
  case MotionEvent.ACTION_UP:{//手指抬起
  
   break;
  }

  default:
   break;
  }
  
  return super.onTouchEvent(event);
 }
*------------------------------------------------------------------------------------------------------------------

 




你可能感兴趣的:(android)