what is the difference of enter/exit and popEnter/popExit, and which transaction's animation it will running at pop stack : <p>In setCustomAnimations() it takes four resource id for the animation. Not really understand them. If someone having clearer picture of it it would be appreciated if you could explain.</p>

<p>Let's say having fragment A add in the place holder and backstack. </p>

<pre><code>FragmentTransaction ft = fm.beginTransaction();
        ft.replace(R.id.holder, fragA, FragmentA.FRAGMENT_NAME);
        ft.addToBackStack(FragmentA.FRAGMENT_NAME);
        ft.setCustomAnimations(R.anim.slide_in_from_bottom, R.anim.slide_in_from_top, R.anim.slide_in_from_left, R.anim.slide_in_from_right);
        ft.show(frag);
        ft.commit();
</code></pre>

<p>And the replace with fragment B:</p>

<pre><code>FragmentTransaction ft = fm.beginTransaction();
        ft.replace(R.id.holder, fragB, FragmentB.FRAGMENT_NAME);
        ft.addToBackStack(FragmentB.FRAGMENT_NAME);
        ft.setCustomAnimations(R.anim.slide_in_from_bottom, R.anim.slide_in_from_top, R.anim.slide_in_from_left, R.anim.slide_in_from_right);
        ft.show(frag);
        ft.commit();
</code></pre>

<p>next time if do a popstack()</p>

<pre><code>fm.popBackStackImmediate(FragmentB.FRAGMENT_NAME,
                                FragmentManager.POP_BACK_STACK_INCLUSIVE);
</code></pre>

<p>Which transaction's animation it will be running from?</p>

<pre><code>/**
 * Set specific animation resources to run for the fragments that are
 * entering and exiting in this transaction. The &lt;code&gt;popEnter&lt;/code&gt;
 * and &lt;code&gt;popExit&lt;/code&gt; animations will be played for enter/exit
 * operations specifically when popping the back stack.
 */
public abstract FragmentTransaction setCustomAnimations(@AnimRes int enter,
        @AnimRes int exit, @AnimRes int popEnter, @AnimRes int popExit);
</code></pre>
