android - Activity 退出动画在 Android 4.0 上无法正常工作

标签 android animation android-activity

我有一个改变 Activity 的打开/关闭/进入/退出动画的主题:

<style name="down_up_theme" parent="Theme.rtlfr">
    <item name="android:windowAnimationStyle">@style/down_up_animation</item>
</style>

<style name="down_up_animation" parent="@android:style/Animation.Activity">
    <item name="android:activityOpenEnterAnimation">@anim/slide_in_top</item>
    <item name="android:activityOpenExitAnimation">@anim/hold</item>
    <item name="android:activityCloseEnterAnimation">@anim/hold</item>
    <item name="android:activityCloseExitAnimation">@anim/slide_out_bottom</item>
</style>

在 list 中:

<activity android:name=".activity.ArticlesActivity"
        android:theme="@style/down_up_theme" />

目标是让 Activity 内容在开始时向下滑动,在退出时向上滑动。

动画在 2.3 上运行良好。但是,在 4.0 上,退出动画(向上滑动)不起作用。它所做的动画是关闭由此 Activity 产生的 Activity 。就我而言,我想使用文章列表为 Activity 的结束设置动画,而不是文章详细信息的结束具有上滑动画。

我想我可以尝试将结束动画添加到产生我想要动画的 Activity 的 Activity 中,但它实际上产生的 Activity 应该有不同的动画。我在 documentation 中也找不到任何关于 2.3 与 4.0 差异的信息。 .

如何让我的动画在 4.0 上运行?

最佳答案

我不确定为什么主题中设置的退出动画在 ICS+ 上不起作用,但调用 overridePendingTransition() 似乎起作用了。为您执行此操作的最简单方法可能是在您的 Activity 中覆盖 finish():

@Override
public void finish() {
    super.finish();
    overridePendingTransition(R.anim.hold, R.anim.slide_out_bottom);
}

关于android - Activity 退出动画在 Android 4.0 上无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12370793/

相关文章:

android - 在动画期间查看隐藏

animation - 是否可以使用 CSS3 动画制作类似星际争霸 2 的自动施法叠加层?

android - 为什么这些 Android 控件在 Galaxy S 上看起来很奇怪?

android - 写入 NFC 标签后开始新 Activity

android - 通过 Intent.ACTION_WIRELESS_SETTING 查看无线设置后应用程序关闭后退按钮

javascript - Nativescript 无法使 android 通知操作正常工作

android - Android中ListView的分页

css - 有没有办法在 MailChimp 模板中使用 CSS3 动画/@keyframes

android - 以编程方式将 TextView 颜色设置为 <selector>

java - 配置 mobileFirst keystore 后仍然遇到证书错误