我希望为不同的活动定义两种窗口动画样式。
目前我已经有以下内容:
清单文件:
<application
...>
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"
android:theme="@style/A" />
<activity
android:name=".SecondActivity"
android:screenOrientation="portrait"
android:theme="@style/B" />
</application>
Styles.xml:
<style name="A" parent="AppTheme">
<item name="android:windowAnimationStyle">@style/CustomActivityAnimation</item>
</style>
<style name="CustomActivityAnimation" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/bottom_in</item>
<item name="android:activityOpenExitAnimation">@anim/scale_out</item>
<item name="android:activityCloseEnterAnimation">@anim/scale_in</item>
<item name="android:activityCloseExitAnimation">@anim/bottom_out</item>
</style>
<style name="B" parent="@style/Theme.AppCompat.Light.Dialog">
<item name="android:windowAnimationStyle">@style/CustomDialogAnimation</item>
</style>
<style name="CustomDialogAnimation" parent="@android:style/Animation.Dialog">
<item name="android:windowEnterAnimation">@anim/dialog_in</item>
<item name="android:windowExitAnimation">@anim/dialog_out</item>
</style>
我希望实现的目标是:
具有样式 A
的活动之间的转换应使用在 CustomActivityAnimation
中定义的动画。
具有样式 B
的活动被设计为对话框,并应该使用在 CustomDialogAnimation
中定义的其他过渡动画。
我的问题:
当我从样式 B
的活动中关闭一个活动时,来自样式 CustomDialogAnimation
的 android:windowExitAnimation
没有被使用。相反,播放了来自样式 CustomActivityAnimation
的 android:activityCloseExitAnimation
。
有什么提示吗?