¿Cómo proporcionar animación al llamar a otra actividad en Android?

Tengo dos actividades A y B. Quiero tener la retráctil de la animación cuando la actividad A llama a B y maximizar la animación cuando la actividad B llama A. No necesito los archivos xml de la animación para esto.

Cuando llamamos a otra actividad en Android da su animación predeterminada y luego llama a encogimiento animación.

Lo que quiero es que la animación por defecto no debe ocurrir y la animación que quiero debe ocurrir.

¿Podemos dar la animación cuando llamamos a otra actividad?

Desde API 16 puede proporcionar un paquete de opciones de actividad cuando llama a Context.startActivity (Intent, Bundle) o métodos relacionados. Se crea mediante el constructor ActivityOptions :

Intent myIntent = new Intent(context, MyActivity.class); ActivityOptions options = ActivityOptions.makeCustomAnimation(context, R.anim.fade_in, R.anim.fade_out); context.startActivity(myIntent, options.toBundle()); 

No olvide consultar los otros métodos del constructor ActivityOptions y ActivityOptionsCompat si está utilizando la biblioteca de soporte técnico.


API 5+:

Para aplicaciones que apuntan al nivel 5+ de la API, se encuentra el método Actividades overridePendingTransition . Se necesitan dos identificadores de recursos para las animaciones entrantes y salientes. Un id de 0 desactivará las animaciones. Llámalo inmediatamente después de la llamada de startActivity .

es decir:

 startActivity(new Intent(this, MyActivity.class)); overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 

API 3+:

Puede evitar que la animación predeterminada (Deslice desde la derecha) con el indicador Intent.FLAG_ACTIVITY_NO_ANIMATION en su intento.

es decir:

 Intent myIntent = new Intent(context, MyActivity.class); myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); context.startActivity(myIntent); 

Entonces en su actividad simplemente tiene que especificar su propia animación.

Esto también funciona para la API 1.5 (Nivel 3).

Debe utilizar el método OverridePendingTransition para lograrlo, que está en la clase Activity . Animaciones de ejemplo en la carpeta res / anim del ejemplo apidemos. Revisalo. Más que comprobar la demo en ApiDemos / App / Activity / animation .

Ejemplo:

 @Override public void onResume(){ // TODO LC: preliminary support for views transitions this.overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left); } 

Escribió un tutorial para que pueda animar su actividad dentro y fuera,

Disfrutar:

http://blog.blundellapps.com/animate-an-activity/

Jelly Bean agrega soporte para esto con el método ActivityOptions.makeCustomAnimation () . Por supuesto, ya que es sólo en Jelly Bean, es prácticamente inútil para fines prácticos.

  • Activación inteligente "androide" desde una notificación push
  • Restauración de la aplicación Unity3d de Android con otra actividad en la parte superior
  • Cambiar de actividad: No ocultar la actividad anterior
  • Hacer que aparezca una nueva actividad detrás de la anterior durante la transición
  • Android AlarmManager: cómo evitar a salir de las alarmas pasadas
  • Establece el oyente de animación en Animaciones de actividad
  • OnActivityResult no se llama
  • Las animaciones de salida de la actividad no funcionan como se esperaba en Android 4.0
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.