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).
R.anim.fade_in
toujours une animation de fichier xml que nous supposons avoirres\anim
?Vous devez utiliser la méthode OverridePendingTransition pour y parvenir, qui se trouve dans la classe Activity . Exemples d'animations dans le dossier res / anim de l'exemple apidemos. Vérifie ça. Plus que de vérifier la démo dans ApiDemos / App / Activity / animation .
Exemple:
la source
super.onResume();
, obtenaisRédaction d'un tutoriel pour animer les entrées et sorties de votre activité,
Prendre plaisir:
http://blog.blundellapps.com/animate-an-activity/
la source
Jelly Bean ajoute une prise en charge pour cela avec la méthode ActivityOptions.makeCustomAnimation () . Bien sûr, comme ce n'est que sur Jelly Bean, cela ne vaut pratiquement rien pour des raisons pratiques.
la source
ActivityOptionsCompat
si vous ciblez le pré-JellyBean.