Depuis l'API 16, vous pouvez fournir un ensemble d'options d'activité lors de l'appel de Context.startActivity (Intent, Bundle) ou des méthodes associées. Il est créé via le générateur ActivityOptions :
Intent myIntent = new Intent(context, MyActivity.class);
ActivityOptions options =
ActivityOptions.makeCustomAnimation(context, R.anim.fade_in, R.anim.fade_out);
context.startActivity(myIntent, options.toBundle());
N'oubliez pas de consulter les autres méthodes du générateur ActivityOptions et ActivityOptionsCompat si vous utilisez la bibliothèque de support.
API 5+:
Pour les applications ciblant le niveau d'API 5+, il existe la overridePendingTransition
méthode Activités . Il faut deux ID de ressource pour les animations entrantes et sortantes. Un identifiant de 0
désactivera les animations. Appelez-le immédiatement après l' startActivity
appel.
c'est à dire:
startActivity(new Intent(this, MyActivity.class));
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
API 3+:
Vous pouvez empêcher l'animation par défaut (glisser depuis la droite) avec l' Intent.FLAG_ACTIVITY_NO_ANIMATION
indicateur dans votre intention.
c'est à dire:
Intent myIntent = new Intent(context, MyActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(myIntent);
puis dans votre activité vous devez simplement spécifier votre propre animation.
Cela fonctionne également pour l'API 1.5 (niveau 3).