Je commence une activité et je préférerais avoir un fondu d'entrée alpha pour startActivity()
et un fondu arrière pour le finish()
. Comment puis-je y parvenir dans le SDK Android?
android
animation
fade
transition
Coneybeare
la source
la source
Réponses:
Dans la même instruction dans laquelle vous exécutez finish (), exécutez également votre animation. Ensuite, dans la nouvelle activité, exécutez une autre animation. Voir ce code:
fadein.xml
Dans votre classe d'arrivée
fadeout.xml
Dans votre nouvelle classe Activity, vous créez une méthode similaire comme runFadeAnimation que j'ai écrite, puis vous l'exécutez dans onCreate et n'oubliez pas de changer l'id des ressources en fadeout.
la source
android:duration="@android:integer/config_shortAnimTime"
runFadeAnimation()
À partir du niveau d'API 5, vous pouvez appeler overridePendingTransition immédiatement pour spécifier une animation de transition explicite:
ou
la source
Voir les thèmes sur Android: http://developer.android.com/guide/topics/ui/themes.html .
Sous themes.xml, il devrait y avoir un
android:windowAnimationStyle
endroit où vous pouvez voir la déclaration du style dans styles.xml .Exemple d'implémentation:
la source
@android:anim/fade_in
partir du code java?Utilisation
overridePendingTransition
fadein.xml
fadeout.xml
la source
Pour fadeIn et fadeOut , ajoutez ceci uniquement après super.onCreate (savedInstanceState) dans votre nouvelle classe Activity. Vous n'avez pas besoin de créer autre chose (pas de XML, pas de dossier anim, pas de fonction supplémentaire).
la source
Si vous souhaitez toujours la même animation de transition pour l'activité
la source
Vous pouvez simplement créer un contexte et faire quelque chose comme ci-dessous: -
Et votre animation: -
Vous pouvez utiliser n'importe quelle animation de votre choix.
la source
Je voulais utiliser la solution styles.xml, mais cela ne fonctionnait pas pour moi avec les activités. Il s'avère qu'au lieu d'utiliser
android:windowEnterAnimation
etandroid:windowExitAnimation
, je dois utiliser les animations d'activité comme celle-ci:la source
la source
La plupart des réponses sont assez correctes, mais certaines d'entre elles sont obsolètes, comme lors de l'utilisation de R.anim.hold et certaines d'entre elles ne font qu'élaborer le processus.
Ainsi, vous pouvez utiliser:
la source