最近寫項目的時候需要用到大量的activity切換動畫,於是就用了考慮到了theme中引用style來實現,但是竟然無效,很是鬱悶,幾經波折,找到了原因,原來是style裏面設置了Android:windowIsTranslucent這個屬性,代碼如下:
<style name="AppTranslateTheme" parent="AppBaseTheme"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <item name="android:windowNoTitle">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowAnimationStyle">@style/animation_translucent_translate</item> </style>
解決辦法就是,windowAnimationStyle需要繼承Animation.Translucent,一般情況是繼承的Animation.Activity,下面是代碼:
<!-- <style name="anim_activity" parent="@android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/activity_open_in_anim</item> <item name="android:activityOpenExitAnimation">@anim/activity_open_out_anim</item> <item name="android:activityCloseEnterAnimation">@anim/activity_close_in_anim</item> <item name="android:activityCloseExitAnimation">@anim/activity_close_out_anim</item> </style> --> <style name="animation_translucent_translate" parent="@android:style/Animation.Translucent"> <item name="android:windowEnterAnimation">@anim/activity_open_in_anim</item> <item name="android:windowExitAnimation">@anim/activity_open_out_anim</item> </style>
問題解決。