¿Cómo puedo agregar una animación al final de la actividad ()?

Estoy usando overridePendingTransition para cuando se crea mi actividad y eso funciona bien. Puedo ver que el fundido funciona muy bien, pero cuando bash animar el final de la actividad, sigo haciendo la diapositiva predeterminada de derecha a izquierda.

Primero intenté definir la animación de salida cuando comencé la actividad de la siguiente manera:

Intent myIntent = new Intent(a, SkdyAlert.class); myIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); a.startActivity(myIntent); if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) { AnimationHelper.overridePendingTransition(a, R.anim.fadein, R.anim.fadeout); } 

Luego traté de hacerlo cuando termine la actividad también

 okBtn.setOnClickListener(new OnClickListener() { public void onClick(View v) { finish(); if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) { AnimationHelper.overridePendingTransition(activity, 0, R.anim.fadeout); } } }); 

Pero ninguno de estos enfoques evitará que la diapositiva de “derecha a izquierda” se desplace. ¿Alguna idea sobre lo que estoy haciendo mal?

Anulo la transición pendiente justo después de llamar a finish ();

En mi caso, lo hice para evitar transiciones.

 finish(); Details.this.overridePendingTransition(R.anim.nothing,R.anim.nothing); 

El orden es importante 🙂

Sugeriría usar el método isFinishing () para configurar las animaciones en onPause en lugar de llamar a finish ()

 @Override protected void onPause() { super.onPause(); if (isFinishing()){ overridePendingTransition(R.anim.activity_slide_in, R.anim.activity_slide_out); } } 

Esta pregunta ya ha respondido, pero la forma más eficiente de poner una animación al salir de una actividad es anulando el método “finish ()” de la actividad relacionada:

 @Override public void finish() { super.finish(); overridePendingTransition(R.anim.hold, R.anim.slide_out_bottom); } 
 finish(); overridePendingTransition(0, 0); 

Solucioné este problema usando este tipo de enfoque:

para abrir con animación:

  Intent newUser = new Intent(getBaseContext(), NewUserActivity.class); startActivity(newUser); overridePendingTransition(R.anim.slide_in_right,R.anim.slide_out_left); 

Para cerrar con animación:

 @Override public boolean onOptionsItemSelected(MenuItem item) { onBackPressed(); return super.onOptionsItemSelected(item); } @Override public void onBackPressed() { super.onBackPressed(); overridePendingTransition(R.anim.slide_out_right,R.anim.slide_in_right); }