Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android pop fragment from backstack with animation

I have an activity that loads a Fragment A in it. Fragment A contains ListView and when clicking on list item I load another Fragment B in place of Fragment A to show the listview item details. On button click and pressing device back button I it loads the previous fragment which is Fragment A that shows ListView. All this is working fine but I want to load Fragment A with animation on backpress or on button click. I am doing it in this way but not working:

   FragmentManager fsm = getSupportFragmentManager();
   FragmentTransaction ftransaction = fsm.beginTransaction();                   
   ftransaction.setCustomAnimations(R.anim.enter_from_left, R.anim.enter_from_left);        
   fsm.popBackStack();
   ftransaction.commit();

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false" >

    <translate
     android:duration="700"
     android:fromXDelta="-100%"
     android:fromYDelta="0%"
     android:toXDelta="0%"
     android:toYDelta="0%" />
</set>


<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
  android:shareInterpolator="false" >

  <translate
    android:duration="700"
    android:fromXDelta="-100%"
    android:fromYDelta="0%"
    android:toXDelta="0%"
    android:toYDelta="0%" />

</set>
like image 712
Nouman Bhatti Avatar asked Aug 25 '14 12:08

Nouman Bhatti


1 Answers

If you want backstack animations you'll need to use:

setCustomAnimations(int enter, int exit, int popEnter, int popExit)

Something like:

setCustomAnimations(R.anim.enter_from_left, R.anim.enter_from_left,
        R.anim.exit_to_left, R.anim.exit_to_left); 
like image 91
Simas Avatar answered Oct 02 '22 14:10

Simas