est-il possible de faire des animations de transition lors de la modification de vues dans la même activité?
Supposons que j'ai 2 fichiers XML et mon activité setContentView approprié un système basé sur une touche de l'utilisateur. Est-il possible de changer l'animation de transition pour le changement de l'affichage du contenu?
Jusqu'à présent, je vois super.overridePendingTransition() qui est approprié pour le démarrage de nouvelles activités, cependant, mon exemple ne pas démarrer une nouvelle activité, il change juste la mise en page dans l'actuelle.
source d'informationauteur damonkashu | 2010-12-15
Vous devez vous connecter pour publier un commentaire.
Mathias Lin a expliqué qu'il est très bien.
Vous pouvez toujours utiliser la valeur par défaut animations fourni par Android cadre.
Heres un exemple de code:
Appeler ce à partir de votre activité qui détient votre Vue Parent.
Pour les animations personnalisées, vous pouvez visiter développeur docs. Heres la la documentation lien.
Oui, vous pouvez appliquer une animation sur presque n'importe quelle vue vous le souhaitez. Par le biais de
view.startAnimation(animation);
Prendre l'extérieur viewgroup de votre mise en page (le contenu) et appliquer l'animation. Selon ce type d'animation que vous voulez faire, il peut faire sens pour gonfler/charger les deux mises en page, mais cacher l'un d'eux et le swap. Veuillez indiquer quel type de transition que vous avez à l'esprit.
Par exemple: si vous faites une transition alpha, vous devez exécuter la alphaAnimation sur la mise en page actuelle, quand la fin de l'animation (AnimationListener), vous définissez l'affichage du contenu de la nouvelle mise en page, et à la décoloration, à l'arrière de contenu, en passant par un autre alphaAnimation.
Une meilleure solution est d'utiliser ViewFlipper: c'est un FrameLayout, qui peut faire des animations lors de la modification de la vue.
Ensuite, passer les points de vue avec
setDisplayedChild(int)
oushowNext()
oushowPrevious
. Si vous voulez avoir une animation différente pour la gauche et la droite le mouvement, vous devez définirinAnimation
etoutAnimation
dans le code avant la transition.Exemple plus complet est ici.