Constraintlayout
androidx.constraintlayout.widget
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.1.4 | - | - | 2.2.0-alpha14 |
constraintlayout-compose | 1.0.1 | - | - | 1.1.0-alpha14 |
constraintlayout-core | 1.0.4 | - | - | 1.1.0-alpha14 |
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-alpha14" // To use constraintlayout in compose implementation "androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha14" }
Kotlin
dependencies { implementation("androidx.constraintlayout:constraintlayout:2.2.0-alpha14") // To use constraintlayout in compose implementation("androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha14") }
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.
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-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 individualmente a través del objeto complementario y se pueden combinar con el operador
or
. (I9df53). createRow
y Asistentes decreateColumn
. Se mejoraron los nombres de los parámetroscreateGrid
y la documentación para mayor claridad. (Iebc92).- Se simplificó la API de
animateChanges
enConstraintLayout
para que solo necesite unAnimationSpec
no nulo.onIncomingConstraints
enInvalidationStrategy
ahora es una lambda normal. Se cambió el nombre defixedWidthRate
porshouldInvalidateOnFixedWith
, igual que para la variante Height. (Ie59cd, b/332898040, b/336370035). - Se reemplazaron los elementos Drag y Fling de
NestedScroll
conUserInput
ySideEffect
para adaptarse a la definición extendida de estos orígenes que ahora incluyen animaciones (Efecto lateral), Rueda del mouse y 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 ABI con 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 enMotionLayout
. lo que, por lo general, será la fuente de un menor rendimiento. (Iada0c). - Ahora puedes usar
animateChanges = true
cuando usesConstraintLayout
con el DSL del modificador intercalado (Modifier.constrainAs
). Cada vez que se realice un cambio en la DSL de restricciones,ConstraintLayout
se animará automáticamente a ese nuevo estado. (I9abf1). - Se habilitó la funcionalidad para
limitBoundsTo
en OnSwipe. (I56522).
Cambios en la API
- Se cambió el nombre de
TransitionScope.staggered
aTransitionScope.maxStaggerDelay
. (I0fd2d).
Correcciones de errores
- Se corrigió el parámetro
dragScale
deOnSwipe
que no funcionaba. (8bef26). - Se corrigió
customColor
enMotionScene
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 paratouchUp
. (Ia5f6f). - Se actualizó KDoc para el elemento componible
ConstraintLayout
yConstraintset
. (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. Representa el conjunto inicial de API estable paraMotionLayout
. (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). - Ahora es compatible con el DSL de
MotionLayout
. Define el retraso máximo conTransitionScope.staggered
. También puedes usarConstrainScope.staggeredWeight
(dentro de unMotionSceneScope
) para obtener un orden escalonado personalizado. (I70275). - Se realizaron dos cambios en el ayudante de Grid: 1.
paddingLeft
ypaddingRight
porpaddingStart
ypaddingEnd
, respectivamente, y 2. Actualiza el formato degridSpans
ygridSkip
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 unLookaheadScope
explícito. El bloque de medición enintermediateLayout
tieneIntermediateMeasureScope
como receptor, que proporcionaCoroutineScope
,LookaheadScope
yMeasureScope
convenientes.- Se reemplazó
LookaheadLayout
porLookaheadScope
, que ya no es un diseño. Esto permite que elMeasurePolicy
de la madre o el padre controle directamente el contenido secundario de unaLookaheadScope
. (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)
yLayoutReference.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
ySpansOrderFirst
para Grid Helper en Compose.ReverseSpanDirection
: Revierte la especificación de ancho y alto para los intervalos y las omisiones.SpansOrderFirst
: Los intervalos respetarán el orden de los widgets. (I6ad50).
- Usa
Modifier.onStartEndBoundsChanged(...)
para obtener los límites locales de los elementos componibles en unMotionLayout
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, comoDragAndDrop
. (I6b5f9). - Se habilitaron las omisiones y los intervalos de Grid Helper en Compose. (I917b6)
Correcciones de errores
- Se corrigieron las propiedades de traducción que no aplicaban 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ámetromaxElement
determinado (e1f2ed3). - Se corrigió
start
ConstraintSet
que no se actualizaba cuando se cambiaba la transición a través deMotionLayout(motionScene: MotionScene, progress: Float, transitionName: String)
(17ffff1). - Se corrigió
ConstraintSet
que no reflejaba algunos cambios cuando se heredaban restricciones a través deConstraintSet(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
yArc.Below
independientes de dirección enMotionLayout
(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) aMotionLayoutScope#customProperties
para lograr coherencia como cuando se configuran propiedades personalizadas (Ib34c9). - Ahora es posible crear varias referencias en
ConstraintSet
yMotionScene
:val (box, text, button) = createRefsFor("box", "text","button")
. Aplica restricciones a varios elementos conconstrain(box, button, text)
. Dentro de un objetoConstrainScope
, ahora puedes configurar de forma intuitiva una dimensión fija conDp.asDimension
:width = 10.dp.asDimension
(I021ec, Ia0960). - Los métodos
MotionScene()
yTransition()
ya no son funciones de componibilidad. Los objetos de estas funciones (incluidoConstraintSet
) ahora deben ser comparables entre sí.animateChanges = true
enConstraintLayout
ahora se puede usar con una sola referencia deConstraintSet
, 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
yMotionLayout
(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
yaddTransition
(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-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 manera 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.
- Para obtener más información sobre los cambios de la versión anterior, consulta la página de la wiki de GitHub.
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 de la versión 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 de la versión 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 de la versión 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 de la versión 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 de la versión 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í.