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