趁放假,学习了ViewFlipper以及Animation的使用。主要是做了个通过手势切换内容。里面用到了动画,ViewFlipper。当向左滑的时候,切换到另一个界面,同时启动动画。
切换的代码如下:
@Override
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN){
mStartX=event.getX();
}else if(event.getAction()==MotionEvent.ACTION_UP){
mEndX=event.getX();
if(mStartX>mEndX){//向右滑动
mViewFlipper.setInAnimation(mInLeftToRight);
mViewFlipper.setOutAnimation(mOutLeftToRight);
mViewFlipper.showNext();
}else if (mStartX<mEndX){//向左滑动
mViewFlipper.setInAnimation(mInRightToLeft);
mViewFlipper.setOutAnimation(mOutRightToLeft);
mViewFlipper.showPrevious();
}
return true;
}
return super.onTouchEvent(event);
}
当向左滑动的时候,启动动画:第一页的内容向左边滑动,同时逐渐隐去,第二页从右边滑动到屏幕里面,同时内容逐渐显示出来。第一页向左滑动,内容隐去的代码是:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="2000"
android:fromXDelta="0"
android:toXDelta="-100%p" >
</translate>
<alpha
android:duration="2000"
android:fromAlpha="1.0"
android:toAlpha="0.0" >
</alpha>
</set>
当向右滑动的时候,启动动画:显示的内容向右边滑动,同时逐渐隐去,第二页从左边滑动到屏幕里面,同时内容逐渐显示出来,其代码是:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="2000"
android:fromXDelta="-100%p"
android:toXDelta="0" >
</translate>
<alpha
android:duration="2000"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>