使用FLAG_ACTIVITY_CLEAR_TOP的活动之间的animation转换

在我的android应用程序中,我正在制作一个方法来popup所有的活动,并提出第一个活动。

我使用这个代码:

Intent intent = new Intent(this, MMConnection.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); this.startActivity(intent); 

当我注意到过渡还是从左到右的animation,有人知道在开始活动时是否有办法改变系统animation?

其实,我最好喜欢有一个权利,以左转换(如当返回button被挖掘)

感谢帮助!

CoolMcGrr是正确的,你想使用overridePendingTransition(int enterAnim, int exitAnim)

为了具体获得标准的“后退button”转换,我使用这些作为enterAnimexitAnim转换:

push_right_in.xml

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="@android:integer/config_shortAnimTime"/> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="@android:integer/config_shortAnimTime" /> </set> 

push_right_out.xml

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="@android:integer/config_shortAnimTime"/> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="@android:integer/config_shortAnimTime" /> </set> 

你应该看看Activity.overridePendingTransition() 。

当然,这要求您至less运行SDK的2.0版本。

我用这个代码:

 overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 

你可以在GmailAnimation或LopeAnimations中看到这些例子。 你也可以在这个博客中看到更多。

现在问题发生了,因为ICS和ICS有不同的内置活动转换。 这比定义自己的animation和SDK独立得多:

 Intent intent = new Intent(this, MMConnection.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NO_ANIMATION); this.startActivity(intent); finish(); 

这将启动活动(不可见),并将“活动完成”转换为新活动。