Comment appliquer une animation de diapositives entre deux activités dans Android?

Je veux obtenir un effet de glissement de gauche à droite lorsque je passe d’une activité à une autre. Pour cela, j’utilise le code suivant, mais je ne reçois aucun résultat. S’il vous plaît corrigez-moi.

En java les deux fichiers:

super.onCreate(savedInstanceState); overridePendingTransition(R.anim.fadein, R.anim.fadeout); setContentView(R.layout.main); 

Deux fichiers dans le répertoire res / anim:

fadein.xml

    

fadeout.xml

    

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splashscreen); new Handler().postDelayed(new Runnable() { public void run() { /* Create an intent that will start the main activity. */ Intent mainIntent = new Intent(SplashScreen.this, ConnectedActivity.class); mainIntent.putExtra("id", "1"); //SplashScreen.this.startActivity(mainIntent); startActivity(mainIntent); /* Finish splash activity so user cant go back to it. */ SplashScreen.this.finish(); /* Apply our splash exit (fade out) and main entry (fade in) animation transitions. */ overridePendingTransition(R.anim.mainfadein,R.anim.splashfadeout); } }, SPLASH_DISPLAY_TIME); } 

Ajoutez ce fichier deux dans le dossier res / anim.

slide_in.xml

     

slide_out.xml

     

Et écrivez le code suivant dans la méthode onCreate () de l’activité suivante que vous transmettez par l’intention.

  overridePendingTransition(R.anim.slide_in, R.anim.slide_out); 

Vous pouvez écraser votre animation d’activité par défaut et celle-ci est plus performante que la substitutionPendingTransition. J’utilise cette solution qui fonctionne pour toutes les versions Android. Il suffit de copier coller 4 fichiers et d’append un style de 4 lignes comme ci-dessous:

Créez un “CustomActivityAnimation” et ajoutez-le à votre thème de base par “windowAnimationStyle”.

    

Ensuite, créez un dossier anim sous le dossier res, puis créez ces quatre fichiers d’animation dans le dossier anim:

slide_in_right.xml

     

slide_out_left.xml

     

slide_in_left.xml

     

slide_out_right.xml

     

Si vous rencontrez un problème, vous pouvez télécharger mon exemple de projet à partir de github .

Merci

Vous pouvez utiliser overridePendingTransition dans startActivity au lieu de onCreate . Au moins, ça marche pour moi!

Voir un exemple complet ici . Il inclut une animation (inverse) sur BackPressed, donc en revenant à l’activité précédente! Dans votre exemple spécifique (fade-in et -out), cela peut être inutile.

L’animation de diapositives peut être appliquée aux transitions d’activité en appelant overridePendingTransition et en transmettant des ressources d’animation pour les activités d’entrée et de sortie.

Les animations de diapositives peuvent être glissées à droite, faites glisser vers la gauche, glissez vers le haut et faites glisser vers le bas.

Glisser vers le haut

     

Glisse vers le bas

     

overridePendingTransition (R.anim.slide_down, R.anim.slide_up);

Voir des exemples d’animation de transition d’activité pour plus d’exemples de transition d’activité.