切换效果主要用到的方法是overridePendingTransition,详解如下:

在startintent 或 finish 的时候调用getActivity().overridePendingTransition(arg0,arg1)

arg0是设置第二个activity进入的动画,arg1是设置当前activity的退出的动画。

如果想设置两个activity分别是从右进入,和从左进入的效果如下:

第一个设置为getActivity().overridePendingTransition(R.anim.in_from_right,R.anim.out_to_left);

第二个设置为overridePendingTransition(R.anim.in_from_left,R.anim.out_to_right);

效果设置代码:

1:out_to_left

<?xmlversion="1.0"encoding="utf-8"?>

<setxmlns:android="http://schemas.android.com/apk/res/android"android:interpolator="@android:anim/accelerate_interpolator">

<translateandroid:fromXDelta="0%p"android:toXDelta="-100%p"

android:duration="250"/>

</set>

2:in_from_right

<?xmlversion="1.0"encoding="utf-8"?>

<setxmlns:android="http://schemas.android.com/apk/res/android"android:interpolator="@android:anim/accelerate_interpolator">

<translateandroid:fromXDelta="100%p"android:toXDelta="0%p"

android:duration="250"/>

</set>

3:out_to_right

<?xmlversion="1.0"encoding="utf-8"?>

<setxmlns:android="http://schemas.android.com/apk/res/android"android:interpolator="@android:anim/accelerate_interpolator">

<translateandroid:fromXDelta="0%p"android:toXDelta="100%p"

android:duration="250"/>

</set>

4:in_from_left

<?xmlversion="1.0"encoding="utf-8"?>

<setxmlns:android="http://schemas.android.com/apk/res/android"android:interpolator="@android:anim/accelerate_interpolator">

<translateandroid:fromXDelta="-100%p"android:toXDelta="0%p"

android:duration="250"/>

</set>


android的x轴位置如下图所示:



默认手机左侧为x轴的零坐标处,每个activity以左侧为当前位置。