Android: transición errónea al utilizar navigateUpFromSameTask ()
Estoy empezando con Android y seguí esta guía al agregar la navegación hacia arriba a una actividad en la barra de acción.
Http://developer.android.com/training/implementing-navigation/ancestral.html
- SingleTask launchMode en android no funciona
- ¿Es correcta la navegación en la aplicación iosched 13?
- Cómo obtener el ID de submenú en la vista de navegación
- Android fragmento de navegación para las tabletas - una o varias actividades?
- ¿Cómo agrego el cajón de navegación a mi código existente?
Sin embargo, la transición de cuando uso el botón de arriba de la barra de acción hace que se muestre como la transición gradual de la apertura de una nueva actividad en lugar de la fade-out que debería ser, como lo hace cuando se presiona el botón de la parte posterior fondo.
¿Qué puedo hacer para que muestre la transición correcta? Gracias.
- Propósito de navegación que funcionaría con mapas y waze
- Calcular la velocidad de una aplicación de navegación sin el método getSpeed ()
- Cambiar Icono Del Cajón De Navegación
- El cajón de navegación no cierra
- Cajón de navegación sin barra de acción
- ¿Cómo organizar una aplicación utilizando fragmentos?
- Android - Navegación desde la actividad hasta el fragmento
- Error: puedo hacer clic debajo del tablero de navegación
Declare android:launchMode="singleTop"
dentro de su Manifest.xml para su actividad principal.
La transición entonces cambiará al apagado por defecto al llamar algo como:
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // Respond to the action bar's Up/Home button case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; } return super.onOptionsItemSelected(item); }
(De: http://developer.android.com/training/implementing-navigation/ancestral.html#NavigateUp )
Debería utilizar el método navigateUpTo () y establecer la bandera sin animación con la intención, como esto:
final Intent intent = NavUtils.getParentActivityIntent(this); intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); NavUtils.navigateUpTo(this, intent);
Tendrás la animación "agradable" de atrás y el uso correcto del botón Arriba. this
es la actividad actual.
@ La solución de Ciprian funciona para mí.
Además, navigateUpFromSameTask()
es sólo un método de conveniencia equivalente a llamar:
final Intent intent = NavUtils.getParentActivityIntent(this); NavUtils.navigateUpTo(this, intent);
Cuando agrega el indicador Intent.FLAG_ACTIVITY_NO_ANIMATION
, la transición de fade out de actividad de defaut toma efecto.
Lo cambié a finish (); Y esto parece hacer lo que quiero.
Puede utilizar el método overridePendingTransition ():
Llame inmediatamente después de uno de los sabores de startActivity (Intent) o finish () para especificar una animación de transición explícita que se realizará a continuación.
http://developer.android.com/reference/android/app/Activity.html#overridePendingTransition(int , int)