Comment inverser les animations de fragments sur BackStack?

Je pensais que le système inverserait les animations sur le backstack lorsque le bouton Back était pressé lors de l’utilisation de fragments en utilisant le code suivant:

FragmentManager fm = getFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); ft.setCustomAnimations(R.anim.slide_in, R.anim.hyperspace_out); ft.replace(R.id.viewContainer, new class(), "layout").addToBackStack(null).commit(); 

Selon la documentation Android pour l’animation personnalisée :

Changement:

 ft.setCustomAnimations(R.anim.slide_in, R.anim.hyperspace_out); 

À:

 ft.setCustomAnimations(R.anim.slide_in, R.anim.hyperspace_out, R.anim.hyperspace_in, R.anim.slide_out ); 

et maintenant le backstack anime – In reverse !!

Utiliser l’animation correcte J’ai utilisé ce qui suit et son fonctionnement comme un charme

slide_in_left.xml

     

slide_in_right.xml

      

slide_out_left.xml

     

slide_out_right.xml

     

Ensuite, utilisez les suivants tout en ajoutant un fragment

 setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_out_right, R.anim.slide_in_right) 

et ça marchera à 100%

dans mon cas

 ft.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right, R.anim.slide_in_right, R.anim.slide_out_left); 

créerait une animation parfaite.

slide_in_right

      

slide_out_left

      
 .setCustomAnimations(R.animator.fragment_fade_in, R.animator.fragment_fade_out, R.animator.fragment_fade_p_in, R.animator.fragment_fade_p_out) 

Remplacez ce qui précède par:

 mFragmentManager.beginTransaction() .setCustomAnimations(R.animator.fragment_fade_in, R.animator.fragment_fade_out, R.animator.fragment_fade_p_in, R.animator.fragment_fade_p_out) .replace(R.id.main_container, FragmentPlayerInfo.getInstance(data)) .addToBackStack(FragmentPlayerInfo.TAG) .commit();