Activity切换动画
要实现Activity切换动画需要靠overridePendingTransition来实现,里面有两个参数分别是进入Activity时的动画和离开Activity时的动画。
需要注意的是必须在StartActivity()或finish()之后立即调用
比如在MainActivity中有一个Button,点击Button后跳转到OtherActivity中代码如下:
Intent intent = new Intent(this, OtherActivity.class);
startActivity(intent);
this.overridePendingTransition(R.anim.enteralpha, R.anim.exitalpha);
界面切换动画
界面切换动画要靠ViewFlipper来实现
<ViewFlipper
android:id="@+id/view_flipper"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- 第一页 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#009900"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="第一页" />
</LinearLayout>
<!-- 第二页 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffff00"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="第二页" />
</LinearLayout>
</ViewFlipper>
然后判断手指是向左还是向右滑动的
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == MotionEvent.ACTION_DOWN) {
startX = event.getX();
} else if (event.getAction() == MotionEvent.ACTION_UP) {
float endX = event.getX();
if (endX > startX ) {
flipper.showNext();// 显示下一页
} else if (endX<startX) {
flipper.showPrevious();// 显示前一页
}
return true;
}
return super.onTouchEvent(event);
}
这样在手指左右滑动的时候切换页面。