Android – Transiciones de elementos compartidos con actividad de llamada finish ()
Estoy trabajando en hacer una aplicación más material y estoy atascado en cómo implementar algunas transiciones de elementos compartidos. Tengo una actividad A que inicia otro B y luego llama a finish () para quitarlo de la pila trasera. En mi caso tengo un elemento que quiero compartir entre las dos actividades, pero una vez que se pasa de A a B, A ya no importa. Si no llamo finish () después de startActivity (ctx, intention, bundle), la animación exit / enter funciona perfectamente. Sin embargo, si llamo al final, hay un parpadeo realmente feo antes de que empiece la animación.
¿Hay algo que estoy pasando por alto o simplemente no es posible hacer lo que estoy tratando de hacer?
- Los fragmentos de ViewPager desaparecen al cambiar la rotación de la pantalla
- Creación de la caja de conmutación onClickListener para TextView
- ¿Cómo forzar la desinstalación de la aplicación para actualizarla?
- Superponiendo un lienzo en la parte superior de una vista de superficie, Flashes
- Box2d Comprobar Collision / Overlaping en cualquier momento
- Biblioteca de código abierto de Java para leer datos de ECG?
- Cómo persistir el miembro estático en las preferencias compartidas cuando está a punto de ser recogido en Android
- Androide modificar el texto EditarTexto
- ¿De dónde viene Enum.values ()?
- NoClassDefFoundError - Eclipse y Android
- Cómo deshabilitar el teclado virtual en WebView
- Mostrar icono de emoción en Android TextView a través de caracteres Unicode u otra forma
- ¿Hay grandes diferencias entre el objetivo-c y Java, o iPhone y Android?
Puede terminar su actividad en la función onStop, si sólo desea que esto suceda al realizar la transición de A a B y luego crear un flag y establecerlo después de llamar a startActivity (ctx, intention, bundle):
@Override public void onStop() { super.onStop(); if(mShouldFinish) finish(); }
Asegúrese de que cuando haya terminado con la actividad B para llamar a finish () y no finishAfterTranstion () ya que la actividad A ya no existe
ACTUALIZAR
Mucho mejor y más sencillo
ActivityCompat. finishAfterTransition(this);
<3 biblioteca de soporte.
Pruebe el método finishAfterTransition () en 5.0 y superior, puede finalizar la actividad después de que se produzca la transición de salida.
Esto es quizás tarde pero tuve el mismo problema. Lo que funcionó para mí es:
supportFinishAfterTransition();
Esto está incluido en la biblioteca de soporte y funciona como encanto.
PS: no necesita llamar a finish()
cuando llama a supportFinishAfterTransition()
.
- Establecer FAB (botón de acción flotante) encima del teclado
- Obtener ID de la cámara actualmente abierta