Android 轉(zhuǎn)場動(dòng)畫 windowAnimation和ActivityAnimation的區(qū)別
掃描二維碼
隨時(shí)隨地手機(jī)看文章
android轉(zhuǎn)場動(dòng)畫windowAnimation和ActivityAnimation的區(qū)別
顯而易見,window與Activity本身從名字上就知道不同,但對于項(xiàng)目開發(fā)中 windowAnimation和ActivityAnimation的區(qū)別必須心領(lǐng)神會(huì)。
區(qū)別主要如下
1.windowAnimation包括 windowEnterAnimation 和 windowExitAnimation ;ActivityAnimation包含 android:activityOpenEnterAnimation, android:activityOpenExitAnimation , android:activityCloseEnterAnimation 和 android:activityCloseExitAnimation
2.在項(xiàng)目中WindowAnimation的控制權(quán)大于Activity的控制權(quán),即在Activity轉(zhuǎn)場過程中,如果同時(shí)設(shè)置了WindowAnimation和ActivityAnimation,那么 可能(因?yàn)檫@種情況非常多) 只會(huì)執(zhí)行WindowAnimation
3.對于WindowAnimation的定義很簡單,在style.xml文件中只需要繼承Animation Style即可
對于Activity,需要繼承Animation Activity Style
當(dāng)我們從 A1 啟動(dòng) A2 時(shí),A1 從屏幕上消失,這個(gè)動(dòng)畫叫做 android:activityOpenExitAnimation
當(dāng)我們從 A1 啟動(dòng) A2 時(shí),A2 出現(xiàn)在屏幕上,這個(gè)動(dòng)畫叫做 android:activityOpenEnterAnimation
當(dāng)我們從 A2 退出回到 A1 時(shí),A2 從屏幕上消失,這個(gè)叫做 android:activityCloseExitAnimation
當(dāng)我們從 A2 退出回到 A1 時(shí),A1 出現(xiàn)在屏幕上,這個(gè)叫做 android:activityCloseEnterAnimation
從上述2中動(dòng)畫的定義上來看,顯然ActivityAnimation更為復(fù)雜,但這種復(fù)雜帶來的轉(zhuǎn)場效果非常好,可以同時(shí)控制2個(gè)Activity的動(dòng)畫,而不像WindowAnimation只能控制下一個(gè)Activity的窗體動(dòng)畫。
5.在開發(fā)中,窗體動(dòng)畫也可以使用 Activity. overridePendingTransition來設(shè)置,也可以定義在主題中,但Activity只能使用在主題中
<application< p="">
android:name="test.view.weitop.BaseApplication"
android:allowBackup="false"
android:hardwareAccelerated="false"
android:icon="@drawable/app_logo"
android:label="@string/app_name"
android:largeHeap="true"
android:theme="@style/Theme.App" >
6.對于比較追求界面美感的動(dòng)畫,使用ActivityAnimation要好得多,因此對于一般開發(fā)使用windowAnimation即可,但對于追求用戶體驗(yàn),那么直接使用Activity Animation 吧。