設置Activity顯示和關閉時的動畫效果
通過overridePendingTransition方法可以設置Activity顯示和關閉的動畫效果。首先需要在res/anim目錄中建立相應的動畫資源文件,然后使用下面的代碼在顯示和關閉Activity時添加動畫效果。
1 Intent intent=new Intent(this,AnimationActivity.class); 2 startActivity(intent); 3 //通過淡入淡出的效果關閉和顯示Activity 4 overridePendingTransition(R.anim.fade_in,R.anim.fade_out);
overridePendingTransition簡介
1 Activity的切換動畫指的是從一個activity跳轉到另外一個activity時的動畫。
它包括兩個部分:
一部分是第一個activity退出時的動畫;
另外一部分時第二個activity進入時的動畫;
在Android的2.0版本之后,有了一個函數來幫我們實現這個動畫。這個函數就是overridePendingTransition
這個函數有兩個參數,一個參數是第一個activity進入時的動畫,另外一個參數則是第二個activity退出時的動畫。
//實現淡入淺出的效果
startActivity(new Intent(MainActivity.this,SecondActivity.class));
overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
// 由左向右滑入的效果
startActivity(new Intent(MainActivity.this,SecondActivity.class));
overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
// 實現zoommin 和 zoomout (自定義的動畫)
startActivity(new Intent(OverridePendingTransitionActivity.this,SecondActivity.class));
overridePendingTransition(R.anim.zoomin, R.anim.zoomout);
關於overridePendingTransition這個函數,有兩點需要主意
1.它必需緊挨着startActivity()或者finish()函數之后調用"
2.它只在android2.0以及以上版本上適用
http://www.oschina.net/question/97118_34343
過有時候overridePendingTransition 這個函數會不起作用,總結下,大概是以下三個方面的原因: