Hacer que aparezca una nueva actividad detrás de la anterior durante la transición

Lo que estoy tratando de lograr es anular la animación de la actividad de inicio.

La animación debe dar la impresión de que la actividad anterior está en la parte superior de la nueva actividad, y luego se desliza hacia abajo y fuera de la pantalla para revelar la nueva actividad. He intentado varias maneras, como el uso de overridePendingTransition(startAnim, exitAnim) Pero el problema es que ambos se animan en la misma línea de tiempo. Así que overridePendingTransition(R.anim.hold, R.anim.exit_slide_down); Nunca se ve la animación de salida porque la nueva actividad está en la parte superior. ¿Se puede lograr esto utilizando el marco?

Introduzca aquí la descripción de la imagen

He estado tratando de resolver su solución en un proyecto de ejemplo y lo tengo trabajando con este código:

Llame a la animación con:

 startActivity(new Intent(this, Activity2.class)); overridePendingTransition(R.anim.push_down_in,R.anim.push_down_out); 

R.anim.push_down_in:

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromYDelta="-100%p" android:toYDelta="0" android:duration="300"/> </set> 

R.anim.push_down_out:

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromYDelta="0" android:toYDelta="100%p" android:duration="300"/> </set> 

En realidad, he encontrado una propiedad llamada android:zAdjustment en los archivos de animación.

Si pongo android:zAdjustment="bottom" en hold.xml (pantalla 2) y android:zAdjustment="top" en push_down_out.xml (pantalla 1) entonces puedo obtener el efecto deseado.

Esto obtiene alrededor de la cuestión de orden z (asumí que era un problema con los tiempos de animación así que estaba ladrando hasta el árbol equivocado).

John

La solución que funciona para mí:

R.anim.exit_slide_down

 <set xmlns:android="http://schemas.android.com/apk/res/android" android:zAdjustment="top"> <translate android:fromYDelta="0" android:toYDelta="100%p" android:duration="600" /> </set> 

…y entonces

 Intent intent = new Intent(activity, SecondActivity.class); startActivity(intent); activity.overridePendingTransition(0, R.anim.exit_slide_down); 
  • OnActivityResult no se llama
  • Android AlarmManager: cómo evitar a salir de las alarmas pasadas
  • Cómo lograr la animación de derecha a izquierda para iniciar la actividad
  • Restauración de la aplicación Unity3d de Android con otra actividad en la parte superior
  • ¿Disminuye la animación deslizante entre las actividades de Android?
  • ¿Cuáles son las mejores prácticas en Android para mantener los datos entre las actividades deathes / restarts para toda la sesión de la aplicación?
  • Android: Actividad no encontrada excepción en algunos dispositivos, al intentar abrir el archivo HTML local en el navegador
  • Utilice Parcelable para pasar un objeto de una actividad de android a otra
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.