ViewFlipper可以实现界面的切换,如在Viewflipper中可以添加或引用任意的布局,通过动画的方式,实现它们之间的切换
public class MyViewFlipper extends Activity{
private ViewFlipper vf;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.flipper);
vf=(ViewFlipper) findViewById(R.id.vf);
}
float start,end;
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
if(action==MotionEvent.ACTION_DOWN){
start = event.getX();
}else if(action==MotionEvent.ACTION_UP){
end = event.getX();
}
if(start>end){
vf.setInAnimation(this, R.anim.in_righeleft);
vf.setOutAnimation(this, R.anim.out_rightleft);
vf.showNext(); //显示下一个
}else if(start>end){
vf.setInAnimation(this, R.anim.in_leftright);
vf.setOutAnimation(this, R.anim.out_leftright);
vf.showPrevious(); //显示上一个
}
return super.onTouchEvent(event);
}
}
在res下新建anim文件夹,在定义xml动画文件
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="3000"
android:fromXDelta="0"
android:toXDelta="-100%p"
/>
<!-- 移动的时间 ,从全部到推出-->