J'ai une activité qui lance une autre activité, via un clic de bouton. Par défaut, sur les nouvelles versions du système d'exploitation d'Android, le système d'exploitation animera la nouvelle activité en glissant de droite à gauche.
Existe-t-il un moyen de désactiver cette animation? Je veux juste que la nouvelle activité apparaisse sans aucune sorte d'animation.
FLAG_ACTIVITY_NO_ANIMATION
etoverridePendingTransition
sont tous les deux de niveau API 5+ uniquement.IMHO cette réponse ici résout le problème de la manière la plus élégante.
Le développeur doit créer un style ,
puis dans le manifeste, définissez-le comme thème d'activité ou d'application entière.
Voila! Sympa et facile.
crédits ps à l'auteur original s'il vous plaît ..
la source
Appliquer
puis
Cela arrêtera l'animation.
la source
À mon avis, la meilleure réponse est d'utiliser
"overridePendingTransition(0, 0);"
pour éviter de voir une animation lorsque vous souhaitez
Intent
uneActivity
utilisation:et pour ne pas voir l'animation lorsque vous appuyez sur le bouton Retour
onPause
Méthode de remplacement dans votrenewactivity
la source
Spécifiez simplement le
Intent.FLAG_ACTIVITY_NO_ANIMATION
drapeau au démarragela source
Cela fonctionne pour moi lorsque vous désactivez l'animation de fin d'activité.
la source
Je suis sur 4.4.2, et appeler overridePendingTransition (0, 0) dans onCreate () de l'activité de lancement désactivera l'animation de démarrage (l'appel de overridePendingTransition (0, 0) immédiatement après startActivity () n'a PAS fonctionné). Comme indiqué dans une autre réponse, l'appel de overridePendingTransition (0, 0) après finish () désactive l'animation de fermeture.
Btw, j'ai trouvé que la définition du style avec "android: windowAnimationStyle"> @ null (une autre réponse mentionnée ici) a provoqué un crash lorsque mon activité de lancement a essayé de définir le titre de la barre d'action. En déboguant plus loin, j'ai découvert que cela provoquait l'échec de window.hasFeature (Window.FEATURE_ACTION_BAR) dans initActionBar () de l'activité.
la source
FLAG_ACTIVITY_NO_ANIMATION peut fonctionner, mais cela n'a pas fonctionné pour moi lorsqu'il est combiné avec FLAG_ACTIVITY_CLEAR_TASK et FLAG_ACTIVITY_NEW_TASK. Je vois apparemment l'animation pour créer une nouvelle tâche avec une nouvelle pile d'activités alors que je navigue latéralement vers mes autres vues de niveau supérieur.
Ce qui a fonctionné ici était d'appeler "overridePendingTransition (0, 0);" soit immédiatement après mon appel startActivity () ou le onPause (). Les deux méthodes ont fonctionné, mais le faire après startActivity () me donne un peu plus de contrôle sur quand je veux des animations et quand je ne veux pas.
la source
J'ai eu un problème similaire pour obtenir un écran noir lors de la transition glissante d'une activité à une autre en utilisant
overridependingtransition
. et j'ai suivi le chemin ci-dessous et cela a fonctionné1) a créé un
noanim.xml
dans le dossier animet utilisé
Le premier paramètre comme mon animation originale et le deuxième paramètre qui est l'animation de sortie comme mon animation factice
la source
Afin d'éviter l'arrière - plan noir lors du démarrage d' une activité déjà dans la pile, j'ai ajouté
overridePendingTransition(0,0)
dansonStart()
:la source