4

overridePendingTransition(int,int)方法提供了一種使用動畫XML資源在活動之間進行動畫處理的方法。使用動畫集的活動之間的過渡動​​畫

但是如果我們需要分配一個AnimationSet(一組甚至可能包含java動畫的動畫)作爲它的參數呢?

換句話說,我們如何應用AnimationSets進行活動之間的轉換?

回答

2

我已經設法通過在我的應用程序中使用主題來實現這一點。

具體由一個主題改變這種風格:

<item name="android:windowAnimationStyle">@android:style/Animation.Activity</item> 

和壓倒一切的風格Animation.Activity:

<style name="Animation.Activity"> 
     <item name="activityOpenEnterAnimation">@anim/activity_open_enter</item> 
     <item name="activityOpenExitAnimation">@anim/activity_open_exit</item> 
     <item name="activityCloseEnterAnimation">@anim/activity_close_enter</item> 
     <item name="activityCloseExitAnimation">@anim/activity_close_exit</item> 
     <item name="taskOpenEnterAnimation">@anim/task_open_enter</item> 
     <item name="taskOpenExitAnimation">@anim/task_open_exit</item> 
     <item name="taskCloseEnterAnimation">@anim/task_close_enter</item> 
     <item name="taskCloseExitAnimation">@anim/task_close_exit</item> 
     <item name="taskToFrontEnterAnimation">@anim/task_open_enter</item> 
     <item name="taskToFrontExitAnimation">@anim/task_open_exit</item> 
     <item name="taskToBackEnterAnimation">@anim/task_close_enter</item> 
     <item name="taskToBackExitAnimation">@anim/task_close_exit</item> 
     <item name="wallpaperOpenEnterAnimation">@anim/wallpaper_open_enter</item> 
     <item name="wallpaperOpenExitAnimation">@anim/wallpaper_open_exit</item> 
     <item name="wallpaperCloseEnterAnimation">@anim/wallpaper_close_enter</item> 
     <item name="wallpaperCloseExitAnimation">@anim/wallpaper_close_exit</item> 
     <item name="wallpaperIntraOpenEnterAnimation">@anim/wallpaper_intra_open_enter</item> 
     <item name="wallpaperIntraOpenExitAnimation">@anim/wallpaper_intra_open_exit</item> 
     <item name="wallpaperIntraCloseEnterAnimation">@anim/wallpaper_intra_close_enter</item> 
     <item name="wallpaperIntraCloseExitAnimation">@anim/wallpaper_intra_close_exit</item> 
    </style> 

可以在XML定義你的動畫集,在這種風格中引用它們。

+0

感謝您的回覆,但假設我有一個xml動畫和一個java動畫(以編程方式定義)。現在我需要結合並在「activityOpenEnterAnimation」這樣的事件中同時播放這兩個, – Mahorad 2012-04-26 14:55:48