J'essaie d'obtenir l'effet suivant en utilisant FragmentTransaction.setCustomAnimations.
- Le fragment A montre
- Remplacez le Fragment A par le Fragment B. Le Fragment A doit rester visible pendant le remplacement. Le fragment B doit être inséré par la droite. Le fragment B doit être glissé par-dessus le fragment A.
Je n'ai aucun problème pour configurer l'animation de la diapositive. Mon problème est que je n'arrive pas à trouver comment faire en sorte que le fragment A reste là où il est et soit SOUS le fragment B pendant que l'animation de la diapositive est en cours. Quoi que je fasse, il semble que le fragment A se trouve au-dessus.
Comment puis-je y parvenir ?
Voici le code de FragmentTransaction :
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_right, R.anim.nothing, R.anim.nothing,
R.anim.slide_out_right);
ft.replace(R.id.fragment_content, fragment, name);
ft.addToBackStack(name);
ft.commit();
Comme vous pouvez le voir, j'ai défini une animation R.anim.nothing pour l'animation de "sortie" car je ne veux pas que le fragment A fasse autre chose que de rester où il est pendant la transaction.
Voici les ressources d'animation :
slide_in_right.xml
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="100%p"
android:toXDelta="0"
android:zAdjustment="top" />
rien.xml
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime"
android:fromAlpha="1.0"
android:toAlpha="1.0"
android:zAdjustment="bottom" />
1 votes
J'ai déposé un rapport de bogue car l'ordre Z actuel est tout simplement erroné. code.google.com/p/Android/issues/