Vous pourriez créer votre propre Fichiers d'animation .xml pour se fondre dans un nouveau Activity
et faire disparaître l'actuel Activity
:
fade_in.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="500" />
fade_out.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:fillAfter="true"
android:duration="500" />
Utilisez-le dans un code comme celui-là : (Dans votre Activity
)
Intent i = new Intent(this, NewlyStartedActivity.class);
startActivity(i);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
Le code ci-dessus fera disparaître l'image actuellement active. Activity
et s'effacer devant la nouvelle Activity
ce qui permet une transition en douceur.
UPDATE : @Dan J a fait remarquer que l'utilisation des animations intégrées d'Android améliore la performance ce qui s'est avéré être le cas après avoir effectué quelques tests. Si vous préférez travailler avec les animations intégrées, utilisez :
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
Remarquez que je fais référence android.R
au lieu de R
pour accéder à l'identifiant de la ressource.
UPDATE : Il est désormais courant d'effectuer des transitions en utilisant la fonction Classe de transition introduite dans le niveau 19 de l'API .