Animation transition between activities using FLAG_ACTIVITY_CLEAR_TOP
CoolMcGrr is right, you want to use overridePendingTransition(int enterAnim, int exitAnim)
.
To specifically get the standard "back button" transition, I use these as the enterAnim
and exitAnim
transitions:
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>
You should take a look Activity.overridePendingTransition().
Of course, this requires that you run at least version 2.0 of the SDK.
Problem occurs nowadays because pre-ICS and ICS have different built-in activity transitions.This is much cleaner than defining your own animation and SDK independant:
Intent intent = new Intent(this, MMConnection.class);intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NO_ANIMATION);this.startActivity(intent);finish();
This will start the activity (not visible yet) and play the "activity finish" transition to the new activity.