start example change animations activity android animation android-activity android-intent transition

android - example - Transición de animación entre actividades usando FLAG_ACTIVITY_CLEAR_TOP



transition layout android (4)

En mi aplicación de Android, estoy creando un método que muestre todas las actividades y muestre la primera actividad.

Yo uso este código:

Intent intent = new Intent(this, MMConnection.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); this.startActivity(intent);

Como noté que la transición todavía era una animación de izquierda a derecha, ¿alguien sabe si hay una manera de cambiar la animación del sistema al iniciar una actividad?

En realidad, idealmente me gustaría tener una transición de derecha a izquierda (como cuando se toca el botón de retorno)

¡gracias por la ayuda!


CoolMcGrr está en lo cierto, quiere usar overridePendingTransition(int enterAnim, int exitAnim) .

Para obtener específicamente la transición estándar de "botón de retroceso", los utilizo como las transiciones enterAnim y exitAnim :

push_right_in.xml

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="@android:integer/config_shortAnimTime"/> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="@android:integer/config_shortAnimTime" /> </set>

push_right_out.xml

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="@android:integer/config_shortAnimTime"/> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="@android:integer/config_shortAnimTime" /> </set>



El problema ocurre hoy en día porque pre-ICS e ICS tienen diferentes transiciones de actividad integradas. Esto es mucho más limpio que definir tu propia animación e independiente del SDK:

Intent intent = new Intent(this, MMConnection.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NO_ANIMATION); this.startActivity(intent); finish();

Esto iniciará la actividad (no visible aún) y reproducirá la transición de "actividad finalizada" a la nueva actividad.


Usé este código:

overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);

Puede ver estos ejemplos en GmailAnimation o LopeAnimations . También puedes ver más en este Blog .