如何在没有效果的情况下去其他活动(尽可能安静)?

时间:2014-02-26 14:12:42

标签: android android-intent effect

我是android的新手。

就我而言,当我们使用这样的意图开始活动时:

Intent masuk=new Intent(getApplicationContext(),Destination.class);
startActivity(masuk);

它会产生一种效果(无论它叫什么)。在我的程序中,我想让这种效果消失。 你能告诉我正确的方法吗?

3 个答案:

答案 0 :(得分:3)

您可以使用intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);

Doc说 -

public static final int FLAG_ACTIVITY_NO_ANIMATION

如果在传递给Context.startActivity()的Intent中设置,则此标志将阻止系统应用活动转换动画以转到下一个活动状态。

这并不意味着动画永远不会运行 - 如果在显示此处开始的活动之前发生另一个未指定此标志的活动更改,则将使用该转换。当您要进行一系列活动操作时,可以很好地使用此标志,但用户看到的动画不应由第一个活动更改驱动,而应由后一个活动更改驱动。

如此简单,

 Intent masuk=new Intent(getApplicationContext(),Destination.class);
 intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
 startActivity(masuk);

答案 1 :(得分:2)

在startActivity();

之后调用此Activity方法
overridePendingTransition(0, 0);

该应用将在下一个活动中移动而不进行任何转换

答案 2 :(得分:1)

如果您要删除所有Actvities过渡的动画,而不是为每次更改调用一行代码,您可以在应用主题中设置它:

<style name="AppBaseTheme" parent="android:Theme.Light">
    <item name="android:windowAnimationStyle">@null</item>
</style>

然后在你的Manifest中设置主题:

<application
    android:theme="@style/AppBaseTheme" >
    ...
</application>