切換效果主要用到的方法是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
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0%p" android:toXDelta="-100%p"
android:duration="250" />
</set>
2:in_from_right
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="100%p" android:toXDelta="0%p"
android:duration="250" />
</set>
3:out_to_right
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0%p" android:toXDelta="100%p"
android:duration="250" />
</set>
4:in_from_left
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="-100%p" android:toXDelta="0%p"
android:duration="250" />
</set>
android的x軸位置如下圖所示:
默認手機左側爲x軸的零座標處,每個activity以左側爲當前位置。