兩者都是針對一個頁面的所有元素的!!
//windowAnimation : 用于修飾Activity的動畫
<style name="windowAnimations">
<!--窗體進(jìn)入動畫-->
<item name="android:windowEnterAnimation">@null</item>
<!--窗體退出動畫-->
<item name="android:windowExitAnimation">@anim/fade_out_rapidly</item>
</style>
//ActivityAnimation :用于修飾Activity的動畫
/**當(dāng)我們從 A1 啟動 A2 時,A1 從屏幕上消失,這個動畫叫做 android:activityOpenExitAnimation
*當(dāng)我們從 A1 啟動 A2 時,A2 出現(xiàn)在屏幕上,這個動畫叫做 android:activityOpenEnterAnimation
*當(dāng)我們從 A2 退出回到 A1 時,A2 從屏幕上消失,這個叫做 android:activityCloseExitAnimation
*當(dāng)我們從 A2 退出回到 A1 時,A1 出現(xiàn)在屏幕上,這個叫做 android:activityCloseEnterAnimation
*/
<style name="activityAnimations" parent="@android:style/Animation.Activity">
<item name="@android:activityOpenEnterAnimation">...</item>
<item name="@android:activityOpenExitAnimation">...</item>
<item name="@android:activityCloseEnterAnimation">...</item>
<item name="@android:activityCloseExitAnimation">...</item>
</style>
/**
*ActivityAnimation可以實現(xiàn)更為復(fù)雜的轉(zhuǎn)場效果,對于一般的開發(fā)使用windowAnimation即可.
*WindowAnimation的控制權(quán)大于Activity的控制權(quán)
*
*來源于 : http://blog.csdn.net/shuitawuhen/article/details/50298193
*/
然后在activity的style中設(shè)置
<item name="android:windowAnimationStyle">@style/windowAnimations</item>
<!--或者-->
<item name="android:windowAnimationStyle">@style/activityAnimations</item>
值得注意的是
windowAnimationStyle需要繼承的Animation.Activity,不然一些動畫效果就沒有了,正如<style name="activityAnimations" parent="@android:style/Animation.Activity">一樣
除此之外 ,可以用windowAnimation設(shè)置Dialog動畫,來源于 : 可以用windowAnimation設(shè)置Dialog動畫 ,來源于:http://blog.csdn.net/shaaiwei521/article/details/41695227
/**
*通過getWindow()方法獲取它的窗口,然后通過getAttributes()方法獲得
*window的WindowManager.LayoutParams lp, lp有個公共屬性windowAnimations,
* 只要把要實現(xiàn)的animation的id賦值給 dialog 就可以了
*/
Dialog dialog = new Dialog(this);
dialog.getWindow().getAttributes().windowAnimations = R.style.PauseDialogAnimation
//或者,通過在創(chuàng)建Dialog的過程中動態(tài)的把動畫文件的ID穿進(jìn)去。
Dialog dialog = new Dialog(this, R.style.PauseDialog);