Activity之間的切換效果有應用默認的,但是這個切換效果我們也是可以定義的,這裏用到的方法主要是:overridePendingTransition(enterAnim, exitAnim);
enterAnim-------Activity被打開始,所需的動畫資源id;
exitAnim-------Activity被暫停時,所需的動畫資源id;
這個方法必須在startActivity(Intent)或者finish()之後調用,否則無法生效;
Intent intent = new Intent(MainActivity.this, AnimationLayoutActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.animation_trans, R.anim.animation_trans);</span>
當Activity退出時,也可以制定自己的切換效果:
@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.animation_trans, R.anim.animation_trans);
}
Fragment也可以添加切換動畫,由於fragment是在API11中引入的新類。因此需要引入support-v4這個兼容包,這個情況下我們可以通過FragmentTransaction中的setCustomAnimation()方法來添加切換動畫,並且這個動畫需要是View動畫,因爲屬性動畫也是在API11新引入的。
今天在寫Activity跳轉動畫時,發現在Activity切換時屏幕會產生一段時間的黑屏,這是由於第二一個Activity加載的數據太多導致的,解決時只需要將第二個Activity的Theme設置成透明的就可以了。
<style name="Transparent" parent="android:Theme.Light">
<!--將Activity的Theme設置成透明-->
<item name="android:windowIsTranslucent">true</item>
</style>