¿Cómo puedo definir la transición entre dos actividades para Android 1.5 y posterior? Me gustaría que una actividad se desvaneciera.
android
android-activity
transition
hpique
fuente
fuente
overridePendingTransition
respuestas relacionadas a continuación: Puede aprobar(0, 0)
si no desea ninguna animación.Respuestas:
Puedes hacer esto con
Activity.overridePendingTransition()
. Puede definir animaciones de transición simples en un archivo de recursos XML.fuente
onCreate
función de tu Actividad .Aquí está el código para hacer un desvanecimiento suave y agradable entre dos actividades.
Crear un archivo llamado
fadein.xml
enres/anim
Crear un archivo llamado
fadeout.xml
enres/anim
Si desea hacer desaparecer de la Actividad A a la actividad B , ponga la siguiente en el
onCreate()
método para la actividad B . AntessetContentView()
funciona para mí.Si los desvanecimientos son demasiado lentos para usted, cambie
android:duration
los archivos xml anteriores a algo más pequeño.fuente
overridePendingTransition(android.R.anim.fadein, android.R.anim.fadeout);
visualización de esos archivos también puede darle pistas sobre cómo mejorar sus animaciones personalizadas (por ejemplo, haciendo que el desvanecimiento se prolongue más que el desvanecimiento).fadein
yfadeout
parafade_in
yfade_out
. Del post de Dan JoverridePendingTransition()
inmediatamente después de llamarfinish()
y / ostartActivity()
. Pude obtener un buen desvanecimiento de esta manera llamándolo justo después de lanzar la nueva Actividad.Una forma incluso fácil de hacerlo es:
Eso es :)
fuente
Si. Puede decirle al sistema operativo qué tipo de transición desea tener para su actividad.
Donde ANIMATION es un número entero que se refiere a una animación integrada en el sistema operativo.
fuente
create res> anim> fadein.xml
create res> anim> fadeout.xml
En res> values> styles.xml
En actividades onCreate ()
fuente
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
Para obtener una lista de animaciones predeterminadas, consulte: http://developer.android.com/reference/android/R.anim.html
Hay, de hecho,
fade_in
yfade_out
para el nivel de API de 1 en adelante.fuente
Sobreescribo mi animación de actividad predeterminada. Lo pruebo en la API 15 para que funcione sin problemas. Aquí está la solución que uso:
Cree la carpeta anim bajo la carpeta res y luego cree estos cuatro archivos de animación:
slide_in_right.xml
slide_out_left.xml
slide_in_left.xml
slide_out_right.xml
Puedes descargar mi proyecto de muestra .
Eso es todo... :)
fuente
Aquí está el código para hacer una buena transición entre dos actividades.
efecto suave de izquierda a derecha
Cree un archivo llamado slide_in_right.xml y slide_out_right.xml en res / anim
slide_in_right.xml
slide_out_right.xml
efecto suave de derecha a izquierda
Cree un archivo llamado animation_enter.xml y animation_leave.xml en res / anim
animation_enter.xml
animation_leave.xml
Navega de una actividad a la segunda Actividad
4.En el evento de retroceso de prensa o navegue de la segunda actividad a una
fuente
overridePendingTransition
inmediatamente después de startActivity: developer.android.com/reference/android/app/…No puede usar overridePendingTransition en Android 1.5. overridePendingTransistion llegó a Android 2.0.
Si va a pasar por esto sin ningún error, debe compilar para el objetivo (1.5 o superior) utilizando las animaciones ordinarias (o las suyas) o debe compilar para el objetivo (2.0 o superior) utilizando overridePendingTransistion.
Resumen: no puede usar overridePendingTransistion en Android 1.5 .
Sin embargo, puede utilizar las animaciones integradas en el sistema operativo.
fuente
EN dispositivos GALAXY:
Debe asegurarse de no haberlo apagado en el dispositivo usando Configuración> Opciones de desarrollador:
fuente
Use ActivityCompat.startActivity () funciona API> 21.
fuente
Antes de comenzar su intención:
Esto proporciona animación predeterminada a su transición de actividad.
fuente
Algunas versiones de Android admiten
Activity
transiciones personalizadas y otras no (dispositivos más antiguos). Si desea utilizar transiciones personalizadas, es una buena práctica verificar siActivity
tiene eloverridePendingTransition()
método, ya que en versiones anteriores no lo tiene.Para saber si el método existe o no, se puede utilizar la API de reflexión. Aquí está el código simple que verificará y devolverá el método si existe:
Y luego, podemos aplicar nuestra propia transición, es decir, usar este método si existe:
Aquí, como ejemplo, se usaron animaciones simples de entrada y salida para la demostración de transición.
fuente
alejar la animación
zoom_enter
zoom_exit
fuente