2010-07-20 19 views
39

La animación predeterminada cuando se presiona el botón Back es una diapositiva de izquierda a derecha. Me gustaría reemplazar eso con una animación personalizada. Actualmente estoy pensando que una combinación de onBackPressed() y overridePendingTransition hará el truco, pero no he podido hacer que funcione.Animación de botón posterior personalizada

+0

incluir algún código de ejemplo, de lo contrario no tenemos idea de lo que puede estar haciendo mal. – prestomation

Respuesta

111

creo que no se debe utilizar acabado() debido a que los datos almacenados por los puntos de vista serán borrados

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit); 
} 
+1

Esto es correcto. – dfetter88

+9

Tome nota del súper, tiene que ser DESPUÉS, de lo contrario no tiene efecto. –

+2

@ Chris.Jenkins Si está diciendo que 'overridepending..' debería estar después del' super', entonces sí. Debería ser después de cualquier llamada de finalización. el súper básicamente llama 'acabado'. entonces el 'overrride' debe estar después de' finish' o 'super' en este caso. – Niranjan

5

Lo descubrí. No estaba terminando la actividad actual. El siguiente código es el truco.

@Override 
public void onBackPressed() { 
    [This Activity].this.finish(); 
    overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
} 
+8

super.onBackPressed() llama automáticamente al final. Úselo en lugar de llamar a finalizar manualmente ... –

Cuestiones relacionadas