Puede crear sus propios archivos de animación .xml para fundir en uno nuevo Activity
y desaparecer en el actual 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" />
Úselo en un código como ese: (Dentro de su Activity
)
Intent i = new Intent(this, NewlyStartedActivity.class)
startActivity(i)
overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
El código anterior se desvanecerá en el actual activo Activity
y se desvanecerá en el recién iniciado, Activity
lo que dará como resultado una transición suave.
ACTUALIZACIÓN : @Dan J señaló que el uso de las animaciones de Android integradas mejora el rendimiento , que de hecho descubrí que era el caso después de hacer algunas pruebas. Si prefiere trabajar con las animaciones integradas, use:
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
Observe que hago referencia en android.R
lugar de R
acceder a la identificación del recurso.
ACTUALIZACIÓN : ahora es una práctica común realizar transiciones utilizando la clase Transición introducida en el nivel de API 19 .
overridePendingTransition(android.R.anim.fadein, android.R.anim.fadeout);
ver esos archivos también puede darle pistas sobre cómo mejorar sus animaciones personalizadas (por ejemplo, haciendo que el desvanecimiento dure más tiempo que el desvanecimiento).