Romain Piel Romain Piel - 9 days ago 5
Android Question

Animation transition between activities using FLAG_ACTIVITY_CLEAR_TOP

In my android app, I'm making a method that pop all activities and bring up the first activity.

I use this code:

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


As I noticed that the transition was still a left to right animation, does someone know if there is a way to change system animation when starting an activity?

Actually, I'd ideally like to have a right to left transition (like when the return button is tapped)

thanks for help!

Answer

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>