2.使用windowAnimation或者ActivityAnimation(及兩者差別)

兩者都是針對一個頁面的所有元素的!!

//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);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容