Cómo cambiar todas las transiciones de actividad de una vez en la aplicación de Android?

Sé que puedo cambiar la transición de actividad usando el siguiente código justo después de startActivity () o finish ()

activity.overridePendingTransition(R.anim.activity_close_enter, R.anim.activity_close_exit);

Pero si tengo diez actividades en mi aplicación, tengo que hacerlo diez veces; Y es muy difícil de modificar. Así que me pregunto si hay una manera de establecer la transición para todas las actividades dentro de la aplicación a la vez. ¿Hay alguna configuración correspondiente en AndroidManifest.xml?

¡Gracias!

Desea crear primero un <style> en res / styles.xml, como este:

  <style name="YourAnimation.Activity" parent="@android:style/Animation.Activity"> <item name="android:windowEnterAnimation">@anim/your_in_down</item> <item name="android:windowExitAnimation">@anim/your_out_down</item> </style> 

A continuación, puede aplicar el estilo a un tema, en el mismo archivo:

  <style name="YourTheme" parent="android:Theme.Translucent"> ... <item name="android:windowAnimationStyle">@style/YourAnimation.Activity</item> </style> 

Y finalmente aplique el tema a sus actividades en el manifiesto:

  <activity android:name=".YourActivity" android:theme="@style/YourTheme" /> 

Mira estos enlaces para referencia:

  • Referencia de Android – Aplicar un tema
  • Referencia Android – WindowEnterAnimation

Sé que esto ha sido contestado pero aquí es lo que hice en la mía. Aún seguimos soportando API 14 por lo que hay algunas animaciones que faltaban que tuve que tirar en el proyecto de la API 22 (slide_in_right, slide_out_left). Lo que esto hace es deslizarse en las pantallas cuando se abre una nueva actividad y se desliza el cierre a la izquierda. Al pulsar de nuevo, hará lo contrario, deslizando desde la izquierda la pantalla anterior y cerrando a la derecha la pantalla actual.

 <style name="YourTheme" parent="android:Theme.Translucent"> ... <item name="android:windowAnimationStyle">@style/YourAnimation.Activity</item> </style> <style name="YourAnimation.Activity" parent="@android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item> <item name="android:activityOpenExitAnimation">@anim/slide_out_left</item> <item name="android:activityCloseEnterAnimation">@android:anim/slide_in_left</item> <item name="android:activityCloseExitAnimation">@android:anim/slide_out_right</item> </style> 

Mi solución es mayormente como respuesta de JPM. Pero aquí hay un archivo adicional que puede requerir.

 <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorPrimary</item> <item name="android:windowAnimationStyle">@style/CustomActivityAnimation</item> </style> <style name="CustomActivityAnimation" parent="@android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item> <item name="android:activityOpenExitAnimation">@anim/slide_out_left</item> <item name="android:activityCloseEnterAnimation">@anim/slide_in_left</item> <item name="android:activityCloseExitAnimation">@anim/slide_out_right</item> </style> 

Cree la carpeta anim en la carpeta res y luego cree estos cuatro archivos de animación:

Slide_in_right.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_mediumAnimTime"/> </set> 

Slide_out_left.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_mediumAnimTime"/> </set> 

Slide_in_left.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_mediumAnimTime"/> </set> 

Slide_out_right.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_mediumAnimTime"/> </set> 
  • Transición de elementos compartidos de Android entre fragmentos con vista de reciclaje y detalles
  • OverridePendingTransition en el adaptador gridview
  • Transición de elemento compartido (primer plano / fondo)
  • Conversión de imagen a vídeo con efecto de transición
  • Animar las transiciones selector / estado
  • Cómo hacer continuamente ejecutando TransitionDrawable animación en Android?
  • La transición de Android no funciona en el teléfono
  • Android NYTimes Swipe Animation / Gesto
  • ¿Hay una manera de llamar `overridePendingTransition` de una clase que no extiende la clase Activity?
  • Cómo hacer la animación de marco suave en Android?
  • Animación de transición de actividad de izquierda a derecha en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.