Je suis conscient que, à partir du niveau 5 de l'API, il est possible de spécifier un indicateur afin d'empêcher l'application de l'animation normale lorsque je lance une nouvelle activité:
myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
Toutefois, ma question est la suivante: existe-t-il un moyen de réaliser la même chose dans une application prenant en charge Android 1.6?
Utilisez ceci: getWindow().setWindowAnimations(0);
dans la Activity
qui commence.
Dans les versions les plus récentes, vous souhaitez remplacer la transition par 0,0 peu de temps après le début de l'activité:
Intent i = new Intent(this, YourNewActivity.class);
startActivity(i);
overridePendingTransition(0,0);
J'ai essayé ceci sur les versions 2.1 et 4.0.3, cela a fonctionné pour moi. =)
Je l'ai trouvé dans la documentation ici
Cette solution a fonctionné pour moi (Android 2.2):
Intent intent = new Intent(getContext(), YourClass.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
getContext().startActivity(intent);
Pour votre information, je suis sur 4.4.2 et ce sont les seules choses que j'ai trouvé qui fonctionnent:
Pour empêcher l'animation d'ouverture: dans onCreate () de l'activité de lancement, ajoutez overridePendingTransition (0,0).
Pour empêcher l'animation de fermeture: après finish (), appelez immédiatement overridePendingTransition (0,0).
CELA NE FONCTIONNE PAS (du moins pas sur ma version 4.4.2): (1) appeler getWindow (). SetWindowAnimations (0) dans onCreate () (passer un nombre non-nul NE FONCTIONNE, mais c'est un vilain hack depuis il attend un resID) et (2) appelant overridePendingTransition (0,0) immédiatement après startActivity () - l'animation est toujours présente.
mettre ci-dessous le code sur onCreate of Activity:
getWindow().setWindowAnimations(0);