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
10 de enero de 2024 1.4.1 - - 1.5.0-alpha06

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.4.1"
    // Kotlin
    implementation "androidx.transition:transition-ktx:1.4.1"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.transition:transition:1.4.1")
    // Kotlin
    implementation("androidx.transition:transition-ktx:1.4.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.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 elemento TransitionListeners agregado ahora tendrá una llamada a onTransitionEnd() después de la Runnable proporcionada a 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 que se generaba por configurar una transición de elementos compartidos y por no establecer una enter/exitTransition. (I8472b).
  • Se solucionó el problema por el que animateToStart() con Slide() no podía mover la vista a la posición de inicio (I698f4, b/300157785).
  • Se corrigió el problema de reentrada en la transición 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 elemento Runnable que debe usarse para regresar 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

  • La transición ahora admite animaciones de atrás predictivo dentro de 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 interrumpía una transición de entrada para quitar una vista, 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 para buscar transiciones. Usa un rastreador de velocidad de 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 elemento AutoTransition. (aosp/2643369).
  • Se solucionó un problema por el que una transición 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

  • Búsqueda de compatibilidad con transiciones en el nivel de API 34 y superiores. 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 nuevo método, 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 informa al desarrollador cuándo la transición está lista para saltar, la duración de la animación y permite configurar el tiempo actual de la animación. controlDelayedTransition() solo admite las transiciones que anulan isSeekable() para mostrar un valor verdadero.
  • Las transiciones tienen un método nuevo, getRootTransition(), que muestra la que contiene la transición actual o la actual si no está contenida por ninguna otra. Esto puede ser útil si el desarrollador necesita tener objetos de escucha para cuando 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 comienza o finaliza y se revierte o no Esto puede ser importante para desarrollar transiciones con búsqueda que tengan TransitionListeners.

Correcciones de errores

  • Las transiciones ahora copian su TransitionListeners cuando se clonan. Esto significa que agregar nuevos objetos de escucha 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.