Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android – Cómo detener la animación entre los cambios de actividad

Tengo varias actividades diferentes en mi aplicación y no quiero ninguna animación de transición al cambiar entre las actividades. A continuación se muestra cómo estoy cambiando entre Actividades:

Intent i = new Intent(FirstActivity.this, SecondActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(i); 

Esto funciona muy bien la primera vez que empiezo una nueva actividad. No hay animación, pero cuando vuelvo a una actividad que ya está iniciada, parece que se ignora "Intent.FLAG_ACTIVITY_NO_ANIMATION" y ocurre la animación predeterminada.

No puedo entender por qué está sucediendo esto.

  • Intent es muy lento para lanzar una nueva Actividad :(
  • Diseño del material layout_scrollFlags significado
  • ¿Qué es un evento de presionar las mejillas?
  • ¿Cómo comprobar los indicadores de gravedad en una vista Android personalizada?
  • Indicadores de intención: cómo iniciar una nueva instancia de actividad y tener otros cerrados
  • ¿Cómo evitar la pantalla en negro en startActivity cuando se establece FLAG_ACTIVITY_CLEAR_TASK?
  • Actividad.finishAffinity () vs Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK
  • OverridePendingTransition no funciona cuando se utiliza FLAG_ACTIVITY_REORDER_TO_FRONT
  • 5 Solutions collect form web for “Android – Cómo detener la animación entre los cambios de actividad”

    ¿Ha intentado overridePendingTransition() ?

    Puede configurar FLAG_ACTIVITY_REORDER_TO_FRONT por código y FLAG_ACTIVITY_NO_ANIMATION en manifesto como se muestra a continuación:

    Crear noAnimTheme en res / values ​​/ styles.xml

     <style name="noAnimTheme" parent="android:Theme"> <item name="android:windowAnimationStyle">@null</item> </style> 

    o

     <style name="noAnimTheme" parent="android:Theme.NoTitleBar"> <item name="android:windowAnimationStyle">@null</item> </style> 

    Y usarlo en manifiesto:

     <activity android:name="SecondActivity" android:theme="@style/noAnimTheme"/> 

    Espero que ayude

    Yo estaba necesitando esto como tuve que crear actividades al hacer clic en los menús.

    Hice lo siguiente:

    FLAG_ACTIVITY_NO_ANIMATION indicador FLAG_ACTIVITY_NO_ANIMATION a la intención. Paró las animaciones mientras creaba la actividad por primera vez.

    Sin embargo, las actividades en la pila que se llamaron cuando hacemos clic en el mismo menú de nuevo (probablemente de una actividad diferente), tenía la animación.

    Así que agregué FLAG_ACTIVITY_NO_HISTORY para borrar o más bien terminar la actividad cuando se inicia una nueva actividad. Esto causó crear una nueva actividad (sin animación) cuando hago clic de nuevo en el menú.

    Agregue esto después de crear la segunda intención

      Intent i = new Intent(SecondActivity.this, FirstActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(i); 

    Cuando regresas a la primera intención, la animación está desactivada, funcionó para mí sin embargo

    Si está utilizando FLAG_ACTIVITY_REORDER_TO_FRONT, también puede anular onNewIntent para llamadas de startActivity posteriores. Esto sólo funcionará para llevar a los estados delanteros en lugar de la primera llamada.

     @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); overridePendingTransition(R.anim.whatever, R.anim.whatever); } 

    Claro, usted debe implementar esto en la actividad objetivo.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.