Constraintlayout

Posiciona y ajusta el tamaño de los widgets de un modo flexible con posicionamiento relativo.

En esta tabla, se incluyen todos los artefactos del grupo androidx.constraintlayout.

Artefacto Versión estable Versión potencial Versión beta Versión alfa
constraintlayout 2.2.0 - - -
constraintlayout-compose 1.1.0 - - -
constraintlayout-core 1.1.0 - - -

Cómo declarar dependencias

Para agregar una dependencia en ConstraintLayout, debes agregar el repositorio de Maven de Google a tu proyecto. Lee 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 {
    implementation "androidx.constraintlayout:constraintlayout:2.2.0"
    // To use constraintlayout in compose
    implementation "androidx.constraintlayout:constraintlayout-compose:1.1.0"
}

Kotlin

dependencies {
    implementation("androidx.constraintlayout:constraintlayout:2.2.0")
    // To use constraintlayout in compose
    implementation("androidx.constraintlayout:constraintlayout-compose:1.1.0")
}

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.

ConstraintLayout-compose y ConstraintLayout-Core 1.1

Versión 1.1.0

30 de octubre de 2024

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0, androidx.constraintlayout:constraintlayout-compose-android:1.1.0 y androidx.constraintlayout:constraintlayout-core:1.1.0. La versión 1.1.0 contiene estas confirmaciones.

Cambios importantes desde 1.0.0

  • Se corrigió la interacción con SharedTransitionLayout (b/332898040).
  • Se corrigieron problemas de diseño relacionados con la medición debido a la recomposición (b/219091179, Ibfe8a).

Versión 1.1.0-rc01

16 de octubre de 2024

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0-rc01, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-rc01 y androidx.constraintlayout:constraintlayout-core:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Versión 1.1.0-beta01

4 de septiembre de 2024

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-beta01 y androidx.constraintlayout:constraintlayout-core:1.1.0-beta01. La versión 1.1.0-beta01 contiene estas confirmaciones.

Versión 1.1.0-alpha14

7 de agosto de 2024

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha14, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha14 y androidx.constraintlayout:constraintlayout-core:1.1.0-alpha14. La versión 1.1.0-alpha14 contiene estas confirmaciones.

Cambios en la API

  • Las marcas ahora se proporcionan de forma individual a través del objeto complementario y se pueden combinar con el operador or. (I9df53).
  • Se simplificaron los ayudantes createRow y createColumn. Se mejoraron los nombres de los parámetros y la documentación de createGrid para brindar mayor claridad. (Iebc92)
  • Se simplificó la API de animateChanges en ConstraintLayout para que solo necesite un AnimationSpec no nulo. onIncomingConstraints en InvalidationStrategy ahora es una lambda normal. Se cambió el nombre de fixedWidthRate a shouldInvalidateOnFixedWith, lo mismo para la variante Altura. (Ie59cd, b/332898040, b/336370035).
  • Las fuentes de NestedScroll Arrastrar y Lanzar se reemplazarán por UserInput y SideEffect para adaptarse a la definición extendida de estas fuentes que ahora incluyen animaciones (Side Effect) y la rueda del mouse y el teclado (UserInput). (I40579).

Versión 1.1.0-alpha13

4 de octubre de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha13, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha13 y androidx.constraintlayout:constraintlayout-core:1.1.0-alpha13 sin cambios. La versión 1.1.0-alpha13 contiene estas confirmaciones.

  • Esta versión permite que las bibliotecas de androidx.constraintlayout sean compatibles con la ABI de las versiones más recientes de Compose.

Versión 1.1.0-alpha12

9 de agosto de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha12, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha12 y androidx.constraintlayout:constraintlayout-core:1.1.0-alpha12. La versión 1.1.0-alpha12 contiene estas confirmaciones.

Cambios en la API

  • Se agregó LayoutScopeMarker a la DSL de transición. (If54ce).

Versión 1.1.0-alpha11

26 de julio de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha11, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha11 y androidx.constraintlayout:constraintlayout-core:1.1.0-alpha11. La versión 1.1.0-alpha11 contiene estas confirmaciones.

Nuevas funciones

  • Ahora puedes proporcionar un InvalidationStrategy para optimizar las invalidaciones en MotionLayout. Por lo general, será la fuente de un rendimiento reducido. (Iada0c).
  • Ahora puedes usar animateChanges = true cuando usas ConstraintLayout con el DSL de modificador intercalado (Modifier.constrainAs). Cada vez que se realice un cambio en el DSL de restricciones, ConstraintLayout se animará automáticamente a ese estado nuevo. (I9abf1).
  • Se habilitó la funcionalidad para limitBoundsTo en OnSwipe. (I56522).

Cambios en la API

  • Se cambió el nombre de TransitionScope.staggered a TransitionScope.maxStaggerDelay. (I0fd2d).

Correcciones de errores

  • Se corrigió el parámetro dragScale de OnSwipe que no funcionaba. (8bef26).
  • Se corrigió customColor en MotionScene que no funcionaba correctamente con colores transparentes. (81b2ac).
  • Se corrigió el error por el que OnSwipe no anunciaba correctamente cuando se detenía y también se fijó el cálculo de la velocidad inicial para touchUp. (Ia5f6f).
  • Se actualizó KDoc para ConstraintLayout componible y Constraintset. (3bfe63).

Versión 1.1.0-alpha10

24 de mayo de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha10, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha10 y androidx.constraintlayout:constraintlayout-core:1.1.0-alpha10. La versión 1.1.0-alpha10 contiene estas confirmaciones.

Cambios en la API

  • La API de MotionLayout ya no es experimental, lo que representa el conjunto inicial de APIs estables para MotionLayout. (I288f4).
  • Se quitó MotionLayoutState. (Id3ac1).
  • Ahora puedes usar DebugFlags para la depuración visual: DebugFlags(showBounds = true). (Ic714b).
  • Se cambió la variable de extensión Dp.asDimension a un método: Dp.asDimension(). (I2d6ef).
  • La función de publicación escalonada ahora es compatible con la DSL de MotionLayout. Define la demora máxima con TransitionScope.staggered. También puedes usar ConstrainScope.staggeredWeight (dentro de un MotionSceneScope) para obtener un orden escalonado personalizado. (I70275).
  • Se realizaron dos cambios en el asistente de cuadrícula: 1. paddingLeft y paddingRight a paddingStart y paddingEnd, respectivamente, y 2. actualizar el formato de gridSpans y gridSkip a un array de los objetos Span y Skip para que sea más estructural. (Idd1eb).

Versión 1.1.0-alpha09

22 de marzo de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha09 y androidx.constraintlayout:constraintlayout-core:1.1.0-alpha09. La versión 1.1.0-alpha09 contiene estas confirmaciones.

Cambios en la API

  • Modifier.intermediateLayout ahora no requiere un LookaheadScope explícito. El bloque de medición en intermediateLayout tiene IntermediateMeasureScope como receptor, lo que proporciona CoroutineScope, LookaheadScope y MeasureScope convenientes.
  • LookaheadLayout se reemplazó por LookaheadScope, que ya no es un diseño. Esto permite que el MeasurePolicy superior controle directamente el contenido secundario en un LookaheadScope. (Ibe2e5).
  • Easing.Cubic() ahora puede tomar parámetros que exceden los parámetros. (I2d826).

Versión 1.1.0-alpha08

8 de marzo de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08 y androidx.constraintlayout:constraintlayout-core:1.1.0-alpha08. La versión 1.1.0-alpha08 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron comprobaciones de lint para sugerir el uso de Dimension.percent(1f) y LayoutReference.withChainParams() en casos en los que los patrones típicos pueden generar un comportamiento impredecible. (I62eb0, I03060).

Cambios en la API

  • Habilita las marcas ReverseSpanDirection y SpansOrderFirst para Grid Helper en Compose.
    1. ReverseSpanDirection: Revierte la especificación de ancho y alto para los intervalos y las omisiones.
    2. SpansOrderFirst: Los intervalos respetarían el orden de los widgets. (I6ad50)
  • Usa Modifier.onStartEndBoundsChanged(...) para obtener los límites locales de los elementos componibles en un MotionLayout que no se ven afectados por la animación. Es útil para cualquier interacción de IU que requiera información de diseño que también pueda activar animaciones, como DragAndDrop. (I6b5f9).
  • Se habilitaron los saltos y los intervalos de Grid Helper en Compose (I917b6).

Correcciones de errores

  • Las propiedades de traducción fijas no aplican los valores esperados. (I961cd).

Versión 1.1.0-alpha07

8 de febrero de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07 y androidx.constraintlayout:constraintlayout-core:1.1.0-alpha07. La versión 1.1.0-alpha07 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron nuevas APIs para habilitar Grid Helper en Compose mediante DSL (I1143b).

Correcciones de errores

  • Se corrigió Wrap.Chain para que Flow no se procese correctamente en el parámetro maxElement determinado (e1f2ed3).
  • Se corrigió start ConstraintSet que no se actualizaba cuando se cambiaba la transición a través de MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String) (17ffff1).
  • Se corrigió ConstraintSet que no reflejaba algunos cambios cuando se heredaban restricciones a través de ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit) (740804b).

Versión 1.1.0-alpha06

25 de enero de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06 y androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06. La versión 1.1.0-alpha06 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron nuevas APIs para habilitar Grid Helper en Compose con una representación JSON que permite colocar los elementos componibles en una cuadrícula 2D (I968ad).

Cambios en la API

  • Se agregó compatibilidad con los modos de arco Arc.Above y Arc.Below independientes de dirección en MotionLayout (I184a9).
  • Ahora es posible restringir un ancla de referencia a las anclas superior e inferior y viceversa (I54628).
  • Se cambió el nombre de MotionLayoutScope#motionProperties (incluidas las derivadas) a MotionLayoutScope#customProperties para lograr coherencia como cuando se configuran propiedades personalizadas (Ib34c9).
  • Ahora es posible crear varias referencias en ConstraintSet y MotionScene: val (box, text, button) = createRefsFor("box", "text","button"). Aplica restricciones a varios elementos con constrain(box, button, text). Dentro de un objeto ConstrainScope, ahora puedes configurar de forma intuitiva una dimensión fija con Dp.asDimension: width = 10.dp.asDimension (I021ec, Ia0960).
  • Los métodos MotionScene() y Transition() ya no son funciones de componibilidad. Los objetos de estas funciones (incluido ConstraintSet) ahora deben ser comparables entre sí. animateChanges = true en ConstraintLayout ahora se puede usar con una sola referencia de ConstraintSet, siempre que alguna de sus propiedades haya cambiado en la recomposición (I7d22e).

Correcciones de errores

  • Se solucionó el problema por el que ConstraintLayout siempre activaba una recomposición adicional innecesaria cuando se cambiaban los asistentes (Id83ad, b/222093277).
  • Se corrigió el comportamiento a la hora de usar funciones intrínsecas con ConstraintLayout y MotionLayout (I487ae, b/220527863).
  • Se solucionó el problema que se generaba cuando no se podía volver a medir los cambios de contenido (Ibfe8a, b/219091179).

Versión 1.1.0-alpha05

7 de diciembre de 2022

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha05 y androidx.constraintlayout:constraintlayout-core:1.1.0-alpha05. La versión 1.1.0-alpha05 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con KeyAttributes personalizados en DSL (b94e748).
  • Se agregaron propiedades de sesgo de superficie en ConstrainScope (32625d0).
  • Se admiten parámetros personalizados en cadenas (72a2e9e).
  • Se agregaron pruebas de macrocomparativas para MotionLayout en Compose (36f43bc).
  • Para obtener más información sobre los cambios de la versión anterior de Compose, consulta la página de wiki.

Cambios en la API

  • Se invirtieron los parámetros addConstraintSet y addTransition (152facc).

Correcciones de errores

  • Se corrigieron las cadenas horizontales (ed5f56e).

Versión 1.1.0-alpha01

20 de mayo de 2022

Se lanzó androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01.

Ten en cuenta que la API de MotionLayout ahora es experimental y requiere que la habilites.

Para obtener más información, consulta las novedades de Compose 1.1.0-alpha01 en GitHub.

Versión 2.2

Versión 2.2.0

30 de octubre de 2024

Lanzamiento de androidx.constraintlayout:constraintlayout:2.2.0. La versión 2.2.0 contiene estas confirmaciones.

Cambios importantes desde la versión 2.1.0

  • Versión de paridad con la biblioteca subyacente de constraintlayout-core.

Versión 2.2.0-rc01

16 de octubre de 2024

Lanzamiento de androidx.constraintlayout:constraintlayout:2.2.0-rc01. La versión 2.2.0-rc01 contiene estas confirmaciones.

Versión 2.2.0-beta01

4 de septiembre de 2024

Lanzamiento de androidx.constraintlayout:constraintlayout:2.2.0-beta01. La versión 2.2.0-beta01 contiene estas confirmaciones.

Versión 2.2.0-alpha14

7 de agosto de 2024

Lanzamiento de androidx.constraintlayout:constraintlayout:2.2.0-alpha14. La versión 2.2.0-alpha14 contiene estas confirmaciones.

Versión 2.2.0-alpha13

4 de octubre de 2023

Se lanzó androidx.constraintlayout:constraintlayout:2.2.0-alpha13 sin cambios. La versión 2.2.0-alpha13 contiene estas confirmaciones.

Versión 2.2.0-alpha12

9 de agosto de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout:2.2.0-alpha12. La versión 2.2.0-alpha12 contiene estas confirmaciones.

Versión 2.2.0-alpha11

26 de julio de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout:2.2.0-alpha11. La versión 2.2.0-alpha11 contiene estas confirmaciones.

Cambios en la API

  • Se agregó un método set para permitir que los desarrolladores establezcan de forma programática el valor de mInfiniteCarousel (I0a8ca).

Versión 2.2.0-alpha10

24 de mayo de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout:2.2.0-alpha10. La versión 2.2.0-alpha10 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un vínculo roto del documento MotionLayout (51cbe88).

Versión 2.2.0-alpha09

22 de marzo de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout:2.2.0-alpha09. La versión 2.2.0-alpha09 contiene estas confirmaciones.

Versión 2.2.0-alpha08

8 de marzo de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout:2.2.0-alpha08. La versión 2.2.0-alpha08 contiene estas confirmaciones.

Versión 2.2.0-alpha07

8 de febrero de 2023

Lanzamiento de androidx.constraintlayout:constraintlayout:2.2.0-alpha07. La versión 2.2.0-alpha07 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió el problema de contenido de la página ConstraintLayout que falta (I82e25).

Versión 2.2.0-alpha05

7 de diciembre de 2022

Lanzamiento de androidx.constraintlayout:constraintlayout:2.2.0-alpha05. La versión 2.2.0-alpha05 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió la fuga en el carrusel de View (eb67b82).

Versión 2.2.0-alpha01

20 de mayo de 2022

Se lanzó androidx.constraintlayout:constraintlayout:2.2.0-alpha01.

Incluye una vista previa del nuevo asistente de Grid.

Para obtener más información, consulta las novedades de la versión 2.2.0-alpha01 en GitHub.

ConstraintLayout-compose 1.0

La versión 1.0 de ConstraintLayout-compose proporciona funcionalidades de ConstraintLayout en Jetpack Compose.

Versión 1.0.1

20 de mayo de 2022

Se lanzó androidx.constraintlayout:constraintlayout-compose:1.0.1.

Ten en cuenta que la API de MotionLayout ahora es experimental y requiere que la habilites.

Para obtener más información, consulta las novedades de Compose 1.0.1 en GitHub.

Versión 1.0.0

13 de enero de 2022

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.0.0.

Ten en cuenta que la API de MotionLayout ahora es experimental y requiere que la habilites.

Para obtener más información, consulta el artículo de GitHub Novedades en 1.0 (Compose).

Versión 1.0.0-rc02

16 de noviembre de 2021

Se lanzó androidx.constraintlayout:constraintlayout-compose:1.0.0-rc02.

Para obtener más información, consulta el artículo de GitHub Novedades en 1.0 (Compose).

Versión 1.0.0-rc01

27 de septiembre de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01.

Esta es la segunda versión beta. Se considera que cuenta con todas las funciones y proporciona ConstraintLayout y MotionLayout para Compose.

Para obtener más información, consulta el artículo de GitHub Novedades en 1.0 (Compose).

Versión 1.0.0-beta02

30 de julio de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02.

Esta es la segunda versión beta. Se considera que cuenta con todas las funciones y proporciona ConstraintLayout y MotionLayout para Compose.

Para obtener más información, consulta el artículo de GitHub Novedades en 1.0 (Compose).

Versión 1.0.0-beta01

22 de julio de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01.

Esta es la primera versión Beta. Se considera que cuenta con todas las funciones y proporciona ConstraintLayout y MotionLayout para Compose.

Para obtener más información, consulta el artículo de GitHub Novedades en 1.0 (Compose).

Versión 1.0.0-alpha07

18 de mayo de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07.

  • Se actualizó para ser compatible con la versión 1.0.0-beta07 de Compose.

Versión 1.0.0-alpha06

4 de mayo de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha06.

  • Optimización de Compose: ConstraintLayout intercalado que admite composición (#193)
  • Minimiza las nuevas medidas en Compose (#210)

Versión 1.0.0-alpha05

15 de marzo de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha05.

  • Incluye una corrección para el motor de optimización. (b/182657720)
  • Agrega un parámetro optimizationLevel al elemento que admite composición ConstraintLayout.

Versión 1.0.0-alpha04

11 de marzo de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha04.

Actualiza para usar el motor constraintlayout-core más reciente.

Versión 1.0.0-alpha03

24 de febrero de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha03.

Actualiza la versión para Jetpack Compose versión beta01.

Versión 1.0.0-alpha02

10 de febrero de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha02.

Actualiza la versión para Jetpack Compose versión alpha12

Versión 1.0.0-alpha01

2 de febrero de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01.

Primera versión de la biblioteca, que proporciona DSL integradas y externas para expresar restricciones.

Versión 2.1

ConstraintLayout 2.1.0 ofrece funciones más enriquecidas en MotionLayout y nuevos ayudantes (Carousel, etc.).

Versión 2.1.4

20 de mayo de 2022

Se lanzó androidx.constraintlayout:constraintlayout:2.1.4.

Para obtener más información, consulta las novedades de la versión 2.1.4 en GitHub.

Versión 2.1.3

13 de enero de 2022

Lanzamiento de androidx.constraintlayout:constraintlayout:2.1.3.

Para obtener más información, consulta el artículo de GitHub Novedades en 2.1.

Versión 2.1.2

16 de noviembre de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout:2.1.2.

Para obtener más información, consulta el artículo de GitHub Novedades en 2.1.

Versión 2.1.1

27 de septiembre de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout:2.1.1.

Esta es la versión final de 2.1.1.

Para obtener más información, consulta el artículo de GitHub Novedades en 2.1.

Versión 2.1.0

30 de julio de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout:2.1.0.

Esta es la versión final de 2.1.0.

Para obtener más información, consulta el artículo de GitHub Novedades en 2.1.

Versión 2.1.0-rc01

22 de julio de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout:2.1.0-rc01.

Esta es la versión potencial para 2.1.0, que brinda mejoras y correcciones menores de la última versión Beta. Para obtener más información, consulta el artículo de GitHub Novedades en 2.1.

Versión 2.1.0-beta02

4 de mayo de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout:2.1.0-beta02.

Algunas funciones nuevas en MotionLayout:

  • Se realizaron mejoras en OnSwipe como en los resortes (rigidez, amortiguación, aglomeración, etc) y la función de no completar nunca.
  • Se agregó la función jumpToState.
  • Se agregó compatibilidad con el modo ViewTransition downUp, en el que cuando se toca Down se reproduce a 100 y cuando se toca Up se revierte a 0.

Se implementaron varias correcciones, en particular, las siguientes:

  • Se corrigió el problema en MotionLayout con el desplazamiento vertical. (#173)
  • Se implementaron mejoras en rendimiento en MotionLayout anidado. (#189)
  • Se implementó la transición rápida con NestedScrollView en MotionLayout. (#189)
  • Se quitó ConstraintSet de MotionLayout. (#189)
  • Se agregó compatibilidad con DownUp ViewTransitions en MotionLayout. (#190)
  • Se corrigió un problema en ImageFilter al volver a usar elementos de diseño. (#192)
  • Se agregó compatibilidad de elasticidad en MotionLayout. (#199)
  • Se mejoró el rendimiento en CircularFlow. (#200)
  • Se realizaron correcciones en las restricciones derivadas y en anulación de restricciones. (#212)

Versión 2.1.0-beta01

11 de marzo de 2021

Lanzamiento de androidx.constraintlayout:constraintlayout:2.1.0-beta01.

ConstraintLayout

android:layout_width y android:layout_height vuelven a no ser opcionales, debido a problemas de compatibilidad.

MotionLayout

  • Compatibilidad programática con la función de insertar y quitar onSwipe y onClick en Transiciones
  • Compatibilidad experimental para transiciones mediante rotación de pantalla
  • Compatibilidad con argumento de duración para transiciones
  • Mejor compatibilidad con customAttributes que son booleanos o referencias

Ayudantes

  • Se agregó una forma de animar o saltar directamente a un elemento determinado de un carrusel.
  • Se agregó un asistente de CircularFlow.

Para obtener más información sobre esta versión, consulta este artículo y los errores corregidos.

Versión 2.1.0-alpha2

17 de diciembre de 2020

Lanzamiento de androidx.constraintlayout:constraintlayout:2.1.0-alpha2.

Esta segunda versión alfa agrega varias funciones nuevas:

ConstraintLayout

  • android:layout_width y android:layout_height ahora son opcionales, con wrap_content como comportamiento predeterminado
  • Nuevos atributos layout_constraintWidth y layout_constraintHeight para expresar restricciones de dimensión
  • Admite márgenes negativos para restricciones
  • Admite el modelo de referencia para las restricciones inferiores y superiores
  • Admite restricciones de margen de modelo de referencia
  • Los objetos SharedValues permiten insertar valores externos en ConstraintLayout

MotionLayout

  • Compatibilidad con interpoladores sobrepasados (anticipar, sobrepasarse)
  • Compatibilidad mejorada con MotionHelper
  • Se agregó una actualización animada de ConstraintSet a MotionLayout updateStateAnimator(id,cset,duration);
  • Objeto ViewTransition basado en valores compartidos
  • scheduleTransitonTo permite colocar una transición para que se ejecute al finalizar la transición actual

Ayudantes

  • Carousel ahora admite un modo infinito (envoltorio)
  • ReactiveGuide: Una pauta que se posiciona automáticamente cuando cambia un objeto SharedValue
  • MotionEffect: Inyecta objetos Keyframe en vistas a las que se hace referencia en una dirección determinada
  • MotionLabel: Un elemento View para animar texto de una sola línea

Para obtener información adicional sobre esta versión, ingresa aquí.

Versión 2.1.0-alpha1

19 de noviembre de 2020

Lanzamiento de androidx.constraintlayout:constraintlayout:2.1.0-alpha1.

Primer lanzamiento alfa de la versión 2.1. Novedades:

  • Se agregó compatibilidad con el ayudante de movimiento del carrusel para compilar vistas de carrusel personalizadas.
  • La compatibilidad de escenas de MotionLayout incluye anulaciones de restricciones.
  • MotionLayout agrega mayor compatibilidad para casos de rotación (entrada y salida).
  • MotionLayout agrega ViewTransitions, lo que ofrece transiciones de vista única para la mutación de constraintsets.

Obtén información adicional sobre esta versión aquí.

Versión 2.0

ConstraintLayout 2.0 agrega funciones nuevas para diseños (diseños virtuales, entre otros) y una nueva clase para simplificar la animación de vistas: MotionLayout.

Versión 2.0.4

29 de octubre de 2020

Lanzamiento de androidx.constraintlayout:constraintlayout:2.0.4.

Correcciones de errores

Esta actualización corrige una NPE potencial que puede ocurrir cuando se quita una vista secundaria durante el tiempo de ejecución. Se recomienda actualizar a esta versión.

Consulta la lista de problemas cerrados aquí.

Versión 2.0.3

27 de octubre de 2020

Lanzamiento de androidx.constraintlayout:constraintlayout:2.0.3.

Correcciones de errores

Esta versión corrige algunos problemas. Se recomienda actualizar a esta versión.

  • Manejo de inserciones de ventanas
  • Manejo de la proporción de dimensiones en algunas situaciones
  • Fallas con algunos diseños de derecha a izquierda

Consulta la lista de problemas cerrados aquí.

Versión 2.0.2

6 de octubre de 2020

Lanzamiento de androidx.constraintlayout:constraintlayout:2.0.2.

Correcciones de errores

En esta versión, se mejoran las presentaciones y se solucionan algunos problemas. Se recomienda actualizar a esta versión.

  • En algunos casos, el control de la visibilidad de GONE en ConstraintLayout era incorrecto
  • En algunos casos, el control de cadenas empaquetadas en ConstraintLayout era incorrecto
  • Se corrigió la excepción de aumento del nivel de API 15 para el asistente de diseño virtual de flujo
  • boundsBoundsTo estaba dañado en MotionLayout
  • En algunos casos, jump to end en MotionLayout estaba dañado (transiciones encadenadas)

Consulta la lista de problemas cerrados aquí.

Versión 2.0.1

25 de agosto de 2020

Lanzamiento de androidx.constraintlayout:constraintlayout:2.0.1.

Esta es una actualización menor que permite el uso de MotionEditor en Android Studio.

Versión 2.0.0

21 de agosto de 2020

Lanzamiento de androidx.constraintlayout:constraintlayout:2.0.0.

Correcciones de errores

Consulta la lista de problemas cerrados aquí.

Las correcciones destacadas son las siguientes:

  • Demoras en la transición de MotionLayout y correcciones en TransitionListener
  • Correcciones de barreras y flujos de ConstraintLayout

Versión 2.0.0-rc1

29 de julio de 2020

Lanzamiento de androidx.constraintlayout:constraintlayout:2.0.0-rc1.

Correcciones de errores

Consulta la lista de problemas cerrados aquí.

Las correcciones destacadas son las siguientes:

  • Correcciones de flujo
  • Correcciones de RecyclerView (se recomienda actualizar a recyclerview 1.2.0 alpha 5 o versiones posteriores)
  • Correcciones de MotionLayout TransitionListener
  • Corrección de fugas de memoria de MotionLayout

Versión 2.0.0-beta8

7 de julio de 2020

Se lanzó androidx.constraintlayout:constraintlayout:2.0.0-beta8.

Correcciones de errores

Consulta la lista de problemas cerrados aquí.

Las correcciones destacadas son las siguientes:

  • Comportamiento de marcadores de posición
  • Visibilidad de capas
  • Correcciones de barreras de flujo
  • Correcciones de TransitionListener

Versión 2.0.0-beta7

12 de junio de 2020

Lanzamiento de androidx.constraintlayout:constraintlayout:2.0.0-beta7.

Correcciones de errores

Consulta la lista de problemas cerrados aquí.

Las correcciones destacadas son las siguientes:

  • Problemas con vistas de desplazamiento anidadas en MotionLayout
  • Problemas con objetos de escucha de transición con MotionLayout
  • Fuga de memoria en MotionLayout
  • Problemas con RecyclerView
  • Visibilidad de un grupo
  • Problemas de relleno

Versión 2.0.0-beta6

13 de mayo de 2020

Lanzamiento de androidx.constraintlayout:constraintlayout:2.0.0-beta6.

Correcciones de errores

Consulta la lista de problemas cerrados aquí. Las correcciones destacadas son el manejo de la visibilidad del grupo y los problemas de restricciones derivados en MotionLayout.

Versión 2.0.0-beta5

7 de mayo de 2020

Lanzamiento de androidx.constraintlayout:constraintlayout:2.0.0-beta5.

Correcciones de errores

Consulta la lista de problemas cerrados aquí.

Versión 2.0.0-beta4

16 de diciembre de 2019

Lanzamiento de androidx.constraintlayout:constraintlayout:2.0.0-beta4.

Nuevas funciones

MotionLayout

Atributos nuevos en la transición:

  • layoutDuringTransition: Te permite configurar cómo debe reaccionar MotionLayout a las llamadas secundarias de requestLayouts durante una transición. Los valores posibles son {ignoreRequest, honorRequest}.
  • pathMotionArc: La ruta que toman los elementos en movimiento usará un arco. Los valores posibles son {startVertical | startHorizontal | girar | ninguno}.

Ahora es posible definir una transición predeterminada omitiendo el inicio y el final de ConstraintSets. Se usará esa transición predeterminada si no se encuentra ninguna otra existente que coincida con los estados de inicio y fin actuales.

Correcciones de errores

Consulta la lista de problemas cerrados aquí.