2014-05-04 141 views
2

我已经编写了一个android应用程序,一切正常,可以免除一件事:当我从一个活动切换到另一个活动时,它会让此“活动打开”动画,像新应用程序一样打开。有没有办法在没有该动画的情况下打开一个活动?由于如何在没有动画的情况下打开Android活动

+0

使用片段,它们更适合您的需求。更多详情[Here](http://developer.android.com/guide/components/fragments.html) – Skynet

回答

7

你可以尝试使用FlagIntent如下:

Intent intent = new Intent(Activity1.this, Activity2.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
startActivity(intent); 

但要记住:

如果在传递给上下文的意图设置。 startActivity(),该标志将阻止系统应用活动转换动画转到下一个活动状态。 这并不意味着动画永远不会运行 - 如果在显示活动开始之前没有指定此标志的其他活动发生变化,则将使用该转换。当您要执行一系列活动操作时,可以很好地使用此标志,但用户看到的动画不应该由第一个活动更改驱动,而应该由后者驱动。

或者你可以定义一个custom animation in your style@android:style/Animation.Activity父母作为@null参数,你不想要的动画。

1

开始意图后,您可以使用:

overridePendingTransition(0, 0); 

要删除任何动画。第一个参数用于动画开放活动,第二个参数用于返回的活动。均指动画资源

+0

添加Intent.FLAG_ACTIVITY_NO_ANIMATION有助于除家庭活动外的所有活动。这个命令解决了它。 –

相关问题