最近没事的时候仿写Google+的布局,遇到了一个问题,想要一个类似网易新闻向左滑动Activity界面可以finish掉Activity,由于向左滑动时,左面会出现黑屏,不好看, 所以在样式中添加了 true让Activity界面透明, 这样做是可以满足要求, 但是我想要的Activity之间的切换动画却没有了。网上有人说重写Activity中的overridePendingTransition方法就行了, 可是自己重写了, 好像不行, 最后看到系统主题样式中有Animation.Translucent,于是就自定义了该样式, 满足了要求,记录下来。样式如下
<style name="spendTheme" parent="Theme.Sherlock.Light">
<item name="actionBarStyle">@style/SpendActionBar</item>
<item name="android:windowAnimationStyle">@style/Animation.Activity.YTZT</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<!-- <item name="android:windowIsTranslucent">true</item> --> <!-- 设置窗口透明后。onStop不被触发,onRestart不被触发,onStart不被触发,还有动画也不被执行,onStop都没被执行就没执行动画。。。因为透明了就不是完全不可见,,,onResume还是被执行, -->
<!-- <item name="android:backgroundDimEnabled">true</item> -->
</style>
<style name="Animation.Activity.YTZT" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/activity_open_enter</item>
<item name="android:activityOpenExitAnimation">@anim/activity_open_exit</item>
<item name="android:activityCloseEnterAnimation">@anim/activity_close_enter</item>
<item name="android:activityCloseExitAnimation">@anim/activity_close_exit</item>
<item name="android:taskOpenEnterAnimation">@anim/activity_open_enter</item>
<item name="android:taskOpenExitAnimation">@anim/activity_open_exit</item>
<item name="android:taskCloseEnterAnimation">@anim/activity_close_enter</item>
<item name="android:taskCloseExitAnimation">@anim/activity_close_exit</item>
<item name="android:taskToFrontEnterAnimation">@anim/activity_open_enter</item>
<item name="android:taskToFrontExitAnimation">@anim/activity_open_exit</item>
<item name="android:taskToBackEnterAnimation">@anim/activity_close_enter</item>
<item name="android:taskToBackExitAnimation">@anim/activity_close_exit</item>
</style>