(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

你可能感兴趣的:((android:windowIsTranslucent)影响(android:windowAnimationStyle)Activity切换动画无效)