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
24 de julio de 2024 1.5.1 - - -

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.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 admite búsquedas 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

  • Admite las transiciones 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. Fragment 1.7.0 usa esta funcionalidad para buscar transiciones automáticamente cuando se usa el gesto atrás predictivo.
  • Las transiciones tienen un nuevo método, getRootTransition(), que muestra la transición que contiene la transición actual o la actual si no está contenida por ninguna otra transición. Esto puede ser útil si el desarrollador necesita tener objetos de escucha para el momento en que comienza o finaliza toda la transición.
  • TransitionListeners ahora tiene nuevos objetos de escucha onTransitionStart() y onTransitionEnd() que permiten al desarrollador saber si la transición está comenzando o finalizando en sentido inverso o no. Esto puede ser importante para desarrollar transiciones con búsquedas 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 por el que, si se agregaba un elemento compartido no buscable a una transacción en la que todas las demás transiciones eran posibles, se producía una falla.

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 corrigió un problema en Fragments por el cual interrumpir las transiciones entrantes con un gesto atrás predictivo destruyeba la vista que entraba y, posiblemente, dejaría 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 use TransitionSeekController.animateToStart(), el objeto TransitionListeners agregado ahora tendrá llamado a onTransitionEnd() después del elemento Runnable determinado de animateToStart(). (Ic6a55, b/307624554).

Actualización de dependencia

  • Se actualizó la dependencia de Fragment 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ó una NullPointerException causada por la configuración de una transición de elementos compartidos y no se pudo configurar un enter/exitTransition. (I8472b).
  • Se corrigió un problema por el que animateToStart() con Slide() no podía volver a mover la vista a la posición de inicio. (I698f4, b/300157785)
  • Se corrigió el problema de reentrada en Transition que rompía la cancelación. (Iddcce, b/308379201).

Versión 1.5.0-alpha04

4 de octubre de 2023

Lanzamiento de 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 debe usarse para devolver las vistas en 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

  • La transición ahora proporciona compatibilidad con 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 diapositiva interrumpe una transición de entrada para quitar una vista, salta 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 usa 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 para buscar transiciones. Usa un rastreador de velocidad 1D para realizar 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 que se producía cuando se buscaba un AutoTransition. (aosp/2643369).
  • Se corrigió un problema por el que una transición de Slide saltaba a la posición inicial incorrecta cuando se interrumpía. (aosp/2733729, b/297427333).

Actualización de dependencia

  • Transition ahora se compila con el nivel de 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 desarrolla en una rama interna.

Nuevas funciones

  • Admite las transiciones en el nivel de API 34 y versiones posteriores. Se agregó una nueva API a TransitionManager, controlDelayedTransition(), que muestra un 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 la búsqueda y la duración de la animación, y permite configurar el tiempo actual de la animación. Solo controlDelayedTransition() admite las transiciones que anulan isSeekable() para mostrar valores verdaderos.
  • Las transiciones tienen un nuevo método, getRootTransition(), que muestra la transición que contiene la transición actual o la actual si no está contenida por ninguna otra transición. Esto puede ser útil si el desarrollador necesita tener objetos de escucha para el momento en que comienza o finaliza toda la transición.
  • TransitionListeners ahora tiene nuevos objetos de escucha onTransitionStart() y onTransitionEnd() que permiten al desarrollador saber si la transición está comenzando o finalizando en sentido inverso o no. Esto puede ser importante para desarrollar transiciones con búsquedas que tengan TransitionListeners.

Correcciones de errores

  • Las transiciones ahora copian sus 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.