Android-如何在活动更改之间停止动画

| 我的应用程序中有多个不同的“活动”,并且在“活动”之间进行更改时,我不需要任何过渡动画。以下是我在“活动”之间进行更改的方式:
Intent i = new Intent(FirstActivity.this, SecondActivity.class);
            i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            startActivity(i);
第一次启动新活动时,效果很好。没有动画,但是当我回到已经开始的活动时,似乎会忽略\“ Intent.FLAG_ACTIVITY_NO_ANIMATION \”,并且会发生默认动画。 我似乎无法弄清楚为什么会这样。     
已邀请:
你试过
overridePendingTransition()
吗?     
您可以通过代码和清单中的FLAG_ACTIVITY_NO_ANIMATION设置代码FLAG_ACTIVITY_REORDER_TO_FRONT,如下所示: 在res / values / styles.xml中创建noAnimTheme
<style name=\"noAnimTheme\" parent=\"android:Theme\">
   <item name=\"android:windowAnimationStyle\">@null</item>
</style>
要么
<style name=\"noAnimTheme\" parent=\"android:Theme.NoTitleBar\">
   <item name=\"android:windowAnimationStyle\">@null</item>
</style>
并在清单中使用它:
<activity android:name=\"SecondActivity\" android:theme=\"@style/noAnimTheme\"/>
希望对您有所帮助     
我需要这个,因为我必须在单击菜单上创建活动。 我做了以下事情: 我在意图上添加了“ 5”标志。首次创建活动时,它停止了动画。 但是,当我们再次单击同一菜单时(可能来自不同的活动),将调用堆栈中的活动,它具有动画。 所以我在启动新活动时添加了ѭ6来清除或结束该活动。当我再次单击菜单时,这导致创建一个新的活动(没有动画)。     
创建第二个意图后添加
        Intent i = new Intent(SecondActivity.this, FirstActivity.class);
        i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
        i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
        startActivity(i);
当您返回第一个意图时,动画被禁用,但是对我有用     
如果您使用的是FLAG_ACTIVITY_REORDER_TO_FRONT,则还可以覆盖onNewIntent以便稍后进行startActivity调用。这将只适用于进入最前沿状态,而不是先打电话。
@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    overridePendingTransition(R.anim.whatever, R.anim.whatever);
}
当然,您必须在目标活动中实施此操作。     

要回复问题请先登录注册