1. 程式人生 > >(android:windowIsTranslucent)影響(android:windowAnimationStyle)Activity切換動畫無效

(android:windowIsTranslucent)影響(android:windowAnimationStyle)Activity切換動畫無效

近沒事的時候仿寫Google+的佈局,遇到了一個問題,想要一個類似網易新聞向左滑動Activity介面可以finish掉Activity,由於向左滑動時,左面會出現黑屏,不好看, 所以在樣式中添加了 <item name="android:windowIsTranslucent">true</item>讓Activity介面透明, 這樣做是可以滿足要求, 但是我想要的Activity之間的切換動畫卻沒有了。網上有人說重寫Activity中的overridePendingTransition方法就行了, 可是自己重寫了, 好像不行, 最後看到系統主題樣式中有Animation.Translucent,於是就自定義了該樣式, 滿足了要求,記錄下來。樣式如下

<style name="AppTheme" parent="AppBaseTheme">

        <!-- <item name="android:windowAnimationStyle">@style/Animation.Activity.Style</item> -->
        <item name="android:windowAnimationStyle">@style/Animation.Activity.Translucent.Style</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsTranslucent">true</item>
    </style>

    <style name="Animation.Activity.Style" parent="@android:style/Animation.Activity">
        <item name="android:activityOpenEnterAnimation">@anim/base_slide_right_in</item>
        <item name="android:activityOpenExitAnimation">@anim/base_stay_orig</item>
        <item name="android:activityCloseEnterAnimation">@anim/base_stay_orig</item>
        <item name="android:activityCloseExitAnimation">@anim/base_slide_right_out</item>
        <item name="android:taskOpenEnterAnimation">@anim/base_slide_right_in</item>
        <item name="android:taskOpenExitAnimation">@anim/base_stay_orig</item>
        <item name="android:taskCloseEnterAnimation">@anim/base_stay_orig</item>
        <item name="android:taskCloseExitAnimation">@anim/base_slide_right_out</item>
        <item name="android:taskToFrontEnterAnimation">@anim/base_slide_right_in</item>
        <item name="android:taskToFrontExitAnimation">@anim/base_stay_orig</item>
        <item name="android:taskToBackEnterAnimation">@anim/base_stay_orig</item>
        <item name="android:taskToBackExitAnimation">@anim/base_slide_right_out</item>
    </style>

    <style name="Animation.Activity.Translucent.Style" parent="@android:style/Animation.Translucent">
        <item name="android:windowEnterAnimation">@anim/base_slide_right_in</item>
        <item name="android:windowExitAnimation">@anim/base_slide_right_out</item>
    </style>

轉自:http://blog.csdn.net/u012612952/article/details/21596433