public void overridePendingTransition (int enterAnim, int exitAnim)
這個函式只要放在startActivity()或是finish()之後就可以。它主要是利用Tween animation來完成頁面的轉跳。
enterAnim為將要進入的頁面的animation。exitAnim為要轉出的頁面的animation。這兩個animation可以寫在res/anim目錄下,以下是我測試過還不錯的動畫
enterAnim: in_from_right.xml
<?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:duration="300"
android:fromXDelta="100%p"
android:toXDelta="0%p" />
</set>
exitAnim: out_to_left.xml
<?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:duration="300"
android:fromXDelta="0%p"
android:toXDelta="-100%p"
android:startOffset="100" />
</set>
java code:
...
startActivity(intent);
overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
...
補充:Fragment間的切換可以利用下面兩種方式來處理
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
或是
ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);