Transición

Anima el movimiento en la IU con diseños iniciales y finales.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
11 de diciembre de 2024 1.5.1 - - 1.6.0-alpha01

Cómo declarar dependencias

Para agregar una dependencia en Transition, debes agregar el repositorio Maven de Google a tu proyecto. Consulta el repositorio Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

dependencies {
    // Java language implementation
    implementation "androidx.transition:transition:1.5.1"
    // Kotlin
    implementation "androidx.transition:transition-ktx:1.5.1"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.transition:transition:1.5.1")
    // Kotlin
    implementation("androidx.transition:transition-ktx:1.5.1")
}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 1.6

Versión 1.6.0-alpha01

11 de diciembre de 2024

Lanzamiento de androidx.transition:transition:1.6.0-alpha01 y androidx.transition:transition-ktx:1.6.0-alpha01. La versión 1.6.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • La transición ahora establece el elemento superior disyuntivo para ViewOverlays que se usa para animar sus transiciones. Esto permite resolver los propietarios a través del elemento superior disyunto, lo que significa que ahora puedes resolver correctamente ViewModels, los ciclos de vida, etc. durante una transición. (I10a16, b/340894487, b/287484338).

Correcciones de errores

  • Esta biblioteca ahora usa anotaciones de nulidad de JSpecify, que son de tipo de uso. Los desarrolladores de Kotlin deben usar los siguientes argumentos del compilador para aplicar el uso correcto: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (I1f54e, b/326456246).
  • Se quitó el esquema manual de acceso a las nuevas APIs de la plataforma, ya que esto se realiza automáticamente a través del modelado de API cuando se usa R8 con AGP 7.3 o versiones posteriores (p.ej., R8 versión 3.3) y para todas las compilaciones cuando se usa AGP 8.1 o versiones posteriores (p.ej., D8 versión 8.1). Se recomienda a los clientes que no usen AGP que actualicen a la versión 8.1 de D8 o una posterior. Consulta este artículo para obtener más detalles. (Ia60e0, b/345472586).

Versión 1.5

Versión 1.5.1

24 de julio de 2024

Lanzamiento de androidx.transition:transition:1.5.1 y androidx.transition:transition-ktx:1.5.1. La versión 1.5.1 contiene estas confirmaciones.

Correcciones de errores

  • Se solucionó un problema por el que se ignoraban las llamadas a animateToStart() o animateToEnd() en una transición que se podía buscar si no se iniciaba la transición. (I44d96, b/338624457).

Versión 1.5.0

1 de mayo de 2024

Lanzamiento de androidx.transition:transition:1.5.0 y androidx.transition:transition-ktx:1.5.0. La versión 1.5.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.4.0

  • Las transiciones admiten el salto en el nivel de API 34 y versiones posteriores. Se agregó una nueva API a TransitionManager, controlDelayedTransition(), que muestra un TransitionSeekController que permite buscar el Transition. El Fragment 1.7.0 usa esta funcionalidad para buscar transiciones automáticamente cuando se usa el gesto atrás predictivo.
  • Las transiciones tienen un método nuevo, getRootTransition(), que muestra la transición que contiene la transición actual o la transición actual si no está contenida por ninguna otra transición. Esto puede ser útil si el desarrollador necesita tener objetos de escucha para cuando comienza o termina toda la transición.
  • TransitionListeners ahora tiene nuevos objetos de escucha onTransitionStart() y onTransitionEnd() que permiten al desarrollador saber si la transición comienza o termina en reversa o no. Esto puede ser importante para desarrollar transiciones buscables que tengan TransitionListeners.

Versión 1.5.0-rc02

17 de abril de 2024

Lanzamiento de androidx.transition:transition:1.5.0-rc02 y androidx.transition:transition-ktx:1.5.0-rc02. La versión 1.5.0-rc02 contiene estas confirmaciones.

Actualización de dependencia

  • Se actualizó la dependencia de Fragment a la versión 1.7.0-rc02, que corrigió un error que se producía si se agregaba un elemento compartido no accesible a una transacción en la que todas las demás transiciones eran accesibles.

Versión 1.5.0-rc01

3 de abril de 2024

Lanzamiento de androidx.transition:transition:1.5.0-rc01 y androidx.transition:transition-ktx:1.5.0-rc01. La versión 1.5.0-rc01 contiene estas confirmaciones.

Versión 1.5.0-beta01

20 de marzo de 2024

Lanzamiento de androidx.transition:transition:1.5.0-beta01 y androidx.transition:transition-ktx:1.5.0-beta01. La versión 1.5.0-beta01 contiene estas confirmaciones.

Correcciones de errores

  • Se solucionó un problema en los fragmentos en el que interrumpir las transiciones entrantes con un gesto atrás predictivo destruía la vista de entrada, lo que podría dejar una pantalla en blanco. (Id3f22, b/319531491)

Versión 1.5.0-alpha06

10 de enero de 2024

Lanzamiento de androidx.transition:transition:1.5.0-alpha06 y androidx.transition:transition-ktx:1.5.0-alpha06. La versión 1.5.0-alpha06 contiene estas confirmaciones.

Correcciones de errores

  • Cuando se usa TransitionSeekController.animateToStart(), el TransitionListeners agregado ahora tendrá una llamada a onTransitionEnd() después del Runnable proporcionado por animateToStart(). (Ic6a55, b/307624554).

Actualización de dependencia

  • La dependencia de Fragment se actualizó a 1.7.0-alpha08.

Versión 1.5.0-alpha05

29 de noviembre de 2023

Lanzamiento de androidx.transition:transition:1.5.0-alpha05 y androidx.transition:transition-ktx:1.5.0-alpha05. La versión 1.5.0-alpha05 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un NullPointerException causado por establecer una transición de elementos compartidos y no establecer un enter/exitTransition. (I8472b)
  • Se solucionó un problema por el que animateToStart() con Slide() no lograba mover el elemento View a la posición inicial (I698f4, b/300157785).
  • Se corrigió el problema de reentrada en Transition que interrumpía la cancelación. (Iddcce, b/308379201).

Versión 1.5.0-alpha04

4 de octubre de 2023

Se lanzaron androidx.transition:transition:1.5.0-alpha04 y androidx.transition:transition-ktx:1.5.0-alpha04. La versión 1.5.0-alpha04 contiene estas confirmaciones.

Cambios en la API

  • Cambio rotundo: El método animateToStart() ahora toma un Runnable que se debe usar para devolver las vistas de transición a su estado original.

Versión 1.5.0-alpha03

20 de septiembre de 2023

Lanzamiento de androidx.transition:transition:1.5.0-alpha03 y androidx.transition:transition-ktx:1.5.0-alpha03. La versión 1.5.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • Transition ahora admite animaciones de atrás predictivo integradas en la app en dispositivos con Android 14 cuando se usa con Fragment 1.7.0-alpha05.

Correcciones de errores

  • Se corrigió el error de interrupción de la transición de diapositivas. Cuando una transición de deslizamiento interrumpía una transición de entrada para quitar un elemento View, saltaba a una posición incorrecta. (I946f8, b/297427333)

Versión 1.5.0-alpha02

6 de septiembre de 2023

Lanzamiento de androidx.transition:transition:1.5.0-alpha02 y androidx.transition:transition-ktx:1.5.0-alpha02. La versión 1.5.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • TransitionSeekController ahora te permite establecer el progreso como una fracción de la duración total a través de setCurrentFragment(). (aosp/2647607).
  • TransitionSeekController ahora permite observar el progreso cuando se usan animateToStart() y animateToEnd() llamando a addOnProgressChangedListener. (aosp/2647607).
  • Se agregó TransitionManager.seekTo() para permitir el uso de escenas para buscar transiciones. (aosp/2647607).
  • Se agregaron animaciones basadas en la física a las transiciones de búsqueda. Usa un rastreador de velocidad de 1D para hacer un seguimiento del cambio de progreso con setCurrentFraction() o setCurrentPlayTimeMillis() y lo usa para la velocidad inicial de animateToStart y animateToEnd. (aosp/2647607).

Correcciones de errores

  • Se corrigió un parpadeo cuando se buscaba un AutoTransition. (aosp/2643369).
  • Se solucionó un problema por el que una transición Slide saltaba a la posición de inicio incorrecta cuando se interrumpía. (aosp/2733729, b/297427333).

Actualización de dependencia

  • La transición ahora se compila con la API 34.

Versión 1.5.0-alpha01

10 de mayo de 2023

Lanzamiento de androidx.transition:transition:1.5.0-alpha01 y androidx.transition:transition-ktx:1.5.0-alpha01. Esta versión se desarrolló en una rama interna.

Nuevas funciones

  • Las transiciones admiten el salto en el nivel de API 34 y versiones posteriores. Se agregó una nueva API a TransitionManager, controlDelayedTransition(), que muestra una TransisionSeekController que permite buscar la transición.

Cambios en la API

  • TransitionManager tiene un método nuevo, controlDelayedTransition(), que permite que las aplicaciones controlen el progreso de las animaciones de transición en el nivel de API 34 y versiones posteriores. El TransitionSeekController que se muestra le permite al desarrollador saber cuándo la transición está lista para el salto, la duración de la animación y establecer la hora actual de la animación. controlDelayedTransition() solo admite transiciones que anulan isSeekable() para mostrar un valor verdadero.
  • Las transiciones tienen un método nuevo, getRootTransition(), que muestra la transición que contiene la transición actual o la transición actual si no está contenida por ninguna otra transición. Esto puede ser útil si el desarrollador necesita tener objetos de escucha para cuando comienza o termina toda la transición.
  • TransitionListeners ahora tiene nuevos objetos de escucha onTransitionStart() y onTransitionEnd() que permiten al desarrollador saber si la transición comienza o termina en reversa o no. Esto puede ser importante para desarrollar transiciones buscables que tengan TransitionListeners.

Correcciones de errores

  • Las transiciones ahora copian su TransitionListeners cuando se clonan. Esto significa que agregar objetos de escucha nuevos durante createAnimator() no afectará la transición raíz.

Versión 1.4.1

Versión 1.4.1

21 de abril de 2021

Lanzamiento de androidx.transition:transition:1.4.1 y androidx.transition:transition-ktx:1.4.1. La versión 1.4.1 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un problema por el que la inicialización de un elemento Transition en un contenedor pausaba por accidente otras transiciones en ejecución en contenedores separados, lo que provocaba que esas otras transiciones nunca se finalizaran. (aosp/1664439, b/182845041)

Versión 1.4.0

Versión 1.4.0

27 de enero de 2021

Lanzamiento de androidx.transition:transition:1.4.0 y androidx.transition:transition-ktx:1.4.0. La versión 1.4.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.3.0

  • El artefacto transition-ktx presenta extensiones de Kotlin para agregar objetos de escucha a instancias de AndroidX Transition. (b/138870873)

Versión 1.4.0-rc01

2 de diciembre de 2020

Lanzamiento de androidx.transition:transition:1.4.0-rc01 y androidx.transition:transition-ktx:1.4.0-rc01 sin modificaciones desde 1.4.0-beta01. La versión 1.4.0-rc01 contiene estas confirmaciones.

Versión 1.4.0-beta01

22 de julio de 2020

Lanzamiento de androidx.transition:transition:1.4.0-beta01 y androidx.transition:transition-ktx:1.4.0-beta01 sin cambios desde 1.4.0-alpha01. La versión 1.4.0-beta01 contiene estas confirmaciones.

Versión 1.4.0-alpha01

24 de junio de 2020

Lanzamiento de androidx.transition:transition:1.4.0-alpha01 y androidx.transition:transition-ktx:1.4.0-alpha01. La versión 1.4.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • El artefacto transition-ktx presenta extensiones de Kotlin para agregar objetos de escucha a instancias de AndroidX Transition. (b/138870873)

Versión 1.3.1

Versión 1.3.1

19 de febrero de 2020

Lanzamiento de androidx.transition:transition:1.3.1. La versión 1.3.1 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió el error por el que algunas vistas animadas se recortaban de manera incorrecta cuando se usaba ChangeTransform. (b/148798452)

Versión 1.3.0

Versión 1.3.0

22 de enero de 2020

Lanzamiento de androidx.transition:transition:1.3.0. La versión 1.3.0 contiene estas confirmaciones.

Cambios importantes desde 1.2.0

  • Mejoras de Fragment 1.2.0: se mejoró la integración con Fragment 1.2.0 para garantizar que la vista de Fragment no se destruya antes de que se complete la transición y que las transiciones se cancelen en el momento adecuado.

Versión 1.3.0-rc02

4 de diciembre de 2019

Lanzamiento de androidx.transition:transition:1.3.0-rc02. La versión 1.3.0-rc02 contiene estas confirmaciones.

Correcciones de errores

  • Se solucionó un problema en el que se marcaban las vistas como INVISIBLE por error después de mostrar un fragmento oculto. (b/70793925)

Versión 1.3.0-rc01

23 de octubre de 2019

Lanzamiento de androidx.transition:transition:1.3.0-rc01 sin cambios desde 1.3.0-beta01. La versión 1.3.0-rc01 contiene estas confirmaciones.

Versión 1.3.0-beta01

9 de octubre de 2019

Lanzamiento de androidx.transition:transition:1.3.0-beta01. La versión 1.3.0-beta01 contiene estas confirmaciones.

Nuevas funciones

  • Se mejoró la integración con Fragment 1.2.0-beta01 para garantizar que la vista de Fragment no se destruya antes de que se complete la transición y que las transiciones se cancelen en el momento adecuado. (aosp/1119841)

Versión 1.2.0

Versión 1.2.0

9 de octubre de 2019

Lanzamiento de androidx.transition:transition:1.2.0 sin modificaciones desde 1.2.0-rc01. La versión 1.2.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.1.0

Debes usar esta versión si especificas el nivel de API 29. De lo contrario, algunas de las transiciones no funcionarán correctamente. En lugar de las llamadas de reflexión, esta versión usa los nuevos métodos públicos agregados en el nivel de API 29. Forma parte de las restricciones de nuestro trabajo con las interfaces que no son SDK.

Versión 1.2.0-rc01

5 de septiembre de 2019

Lanzamiento de androidx.transition:transition:1.2.0-rc01 sin modificaciones desde la versión 1.2.0-beta01. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.

Versión 1.2.0-beta01

2 julio de 2019

Lanzamiento de androidx.transition:transition:1.2.0-beta01. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.

Nuevas funciones

  • Debes usar esta versión si especificas 29 como targetSdkVersion. De lo contrario, algunas de las transiciones no funcionarán correctamente. En lugar de las llamadas de reflexión, esta versión usa los nuevos métodos públicos agregados en el nivel de API 29. Forma parte de las restricciones de nuestro trabajo con las interfaces que no son SDK.

Versión 1.2.0-alpha01

7 de mayo de 2019

Lanzamiento de androidx.transition:transition:1.2.0-alpha01.

Nuevas funciones

  • Debes usar esta versión si especificas Q como targetSdkVersion. De lo contrario, algunas de las transiciones no funcionarán correctamente. En lugar de las llamadas de reflexión, esta versión usa los nuevos métodos públicos agregados en Q. Forma parte de las restricciones de nuestro trabajo con las interfaces que no son SDK.

Versión 1.1.0

Versión 1.1.0

2 julio de 2019

Lanzamiento de androidx.transition:transition:1.1.0 sin cambios desde 1.1.0-rc02. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.

Versión 1.1.0-rc02

5 de junio de 2019

Lanzamiento de androidx.transition:transition:1.1.0-rc02. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Correcciones de errores

  • Se realizó una corrección para que TransitionManager.endTransitions() funcione correctamente con transiciones dependientes. (aosp/946400)

Versión 1.1.0-rc01

7 de mayo de 2019

Lanzamiento de androidx.transition:transition:1.1.0-rc01. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.

Versión 1.1.0-beta01

3 de abril de 2019

Lanzamiento de androidx.transition:transition:1.1.0-beta01. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Correcciones de errores

  • Se corrigió un error relacionado con el almacenamiento en caché de ViewGroupOverlay en Visibility, que se producía en el nivel de API 17 y en versiones anteriores. (aosp/937350)

Versión 1.1.0-alpha02

13 de marzo de 2019

Lanzamiento de androidx.transition:transition:1.1.0-alpha02. Para obtener una lista completa de las confirmaciones incluidas en esta versión, consulta este vínculo.

Cambios en la API

  • Se cambió el tipo de parámetro de método de Scene.getCurrentScene() de View a ViewGroup.

Correcciones de errores

  • SidePropagation no funciona cuando se proporciona un retraso adicional mediante setStartDelay() (b/119839526).
  • ChangeImageTransform aplica una matriz incorrecta cuando se interrumpe antes del nivel de API 21 (b/123226255).
  • ChangeTransform funciona incorrectamente en algunos casos antes del nivel de API 21 (b/125777978).

Versión 1.1.0-alpha01

3 de diciembre de 2018

Cambios en la API

  • aosp/807055: Se hizo público el método Scene.getCurrentScene(View). Te permite escribir una lógica condicional personalizada según el escenario actual.

Correcciones de errores

  • Se solucionó una falla que se producía al usar TransitionManager para contraer/expandir elementos en RecyclerView (b/37129527).
  • Se corrigió la animación incorrecta que se mostraba cuando se aplicaban dos transiciones de visibilidad (b/62629600).
  • Se permitieron valores de anulación como interpolación y duración para los elementos secundarios de TransitionSet (b/64644617).
  • También se corrigieron otros errores menores.