Puoi creare i tuoi file di animazione .xml per sfumare in un nuovo Activity
e sfumare l'attuale 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" />
Usalo in un codice come quello: (Dentro il tuo Activity
)
Intent i = new Intent(this, NewlyStartedActivity.class)
startActivity(i)
overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
Il codice sopra si dissolverà in quello attualmente attivo Activity
e si dissolverà in quello appena avviato, Activity
ottenendo una transizione graduale.
AGGIORNAMENTO : @ Dan J ha sottolineato che l'utilizzo delle animazioni Android integrate migliora le prestazioni , cosa che ho effettivamente riscontrato dopo aver eseguito alcuni test. Se preferisci lavorare con le animazioni incorporate, usa:
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
Notatemi fare riferimento android.R
invece di R
accedere all'ID risorsa.
AGGIORNAMENTO : è ormai pratica comune eseguire transizioni utilizzando la classe Transition introdotta nel livello API 19 .
overridePendingTransition(android.R.anim.fadein, android.R.anim.fadeout);
visualizzazione di questi file può anche darti suggerimenti su come migliorare le tue animazioni personalizzate (ad esempio, facendo durare la dissolvenza in entrata più a lungo della dissolvenza in chiusura).