Constraintlayout

Defina a posição e o tamanho dos widgets de maneira flexível com posicionamento relativo.

Esta tabela lista todos os artefatos no grupo androidx.constraintlayout.

Artefato Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
constraintlayout 2.1.4 - 2.2.0-beta01 -
constraintlayout-compose 1.0.1 - 1.1.0-beta01 -
constraintlayout-core 1.0.4 - 1.1.0-beta01 -

Declarar dependências

Para adicionar uma dependência a ConstraintLayout, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou módulo:

Groovy

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

Kotlin

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

Para mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

ConstraintLayout-compose e ConstraintLayout-Core 1.1

Versão 1.1.0-beta01

4 de setembro de 2024

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-beta01 e androidx.constraintlayout:constraintlayout-core:1.1.0-beta01. A versão 1.1.0-beta01 contém estas confirmações.

Versão 1.1.0-alpha14

7 de agosto de 2024

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha14, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha14 e androidx.constraintlayout:constraintlayout-core:1.1.0-alpha14. A versão 1.1.0-alpha14 contém estas confirmações.

Mudanças na API

  • Agora, as sinalizações são fornecidas individualmente por meio do objeto complementar e podem ser combinadas com o operador or. (I9df53).
  • Simplificado createRow e Assistentes de createColumn. Melhorias nos nomes dos parâmetros createGrid e na documentação para esclarecimento. (Iebc92).
  • A API animateChanges foi simplificada em ConstraintLayout para precisar apenas de um AnimationSpec não nulo. onIncomingConstraints em InvalidationStrategy agora é uma lambda normal fixedWidthRate foi renomeado como shouldInvalidateOnFixedWith, o mesmo para a variante de altura. (Ie59cd, b/332898040, b/336370035).
  • As origens de arrastar e deslizar NestedScroll estão sendo substituídas por UserInput e SideEffect para acomodar a definição estendida dessas origens, que agora inclui animações (Efeito colateral) e roda do mouse e teclado (UserInput). (I40579).

Versão 1.1.0-alpha13

4 de outubro de 2023

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha13, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha13 e androidx.constraintlayout:constraintlayout-core:1.1.0-alpha13 sem mudanças. A versão 1.1.0-alpha13 contém estas confirmações.

  • Esta versão permite que bibliotecas androidx.constraintlayout sejam compatíveis com ABI com as versões mais recentes do Compose.

Versão 1.1.0-alpha12

9 de agosto de 2023

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha12, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha12 e androidx.constraintlayout:constraintlayout-core:1.1.0-alpha12. A versão 1.1.0-alpha12 contém estas confirmações.

Mudanças na API

  • O LayoutScopeMarker foi adicionado à DSL de transição. (If54ce).

Versão 1.1.0-alpha11

26 de julho de 2023

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha11, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha11 e androidx.constraintlayout:constraintlayout-core:1.1.0-alpha11. A versão 1.1.0-alpha11 contém estas confirmações.

Novos recursos

  • Agora você pode fornecer um InvalidationStrategy para otimizar as invalidações no MotionLayout. Isso costuma causar uma queda no desempenho. (Iada0c).
  • Agora você pode usar animateChanges = true ao usar ConstraintLayout com a DSL modificadora inline (Modifier.constrainAs). Sempre que uma mudança na DSL de restrições for concluída, ConstraintLayout será animado automaticamente para esse novo estado. (I9abf1).
  • Funcionalidade ativada para limitBoundsTo no OnSwipe. (I56522).

Mudanças na API

  • TransitionScope.staggered foi renomeado como TransitionScope.maxStaggerDelay (I0fd2d).

Correções de bugs

  • Correção do parâmetro dragScale de OnSwipe que não funcionava (8bef26).
  • Correção de customColor em MotionScene, que não funcionava corretamente com cores transparentes (81b2ac).
  • Correção de OnSwipe, que não anunciava corretamente quando parado, também foi corrigido o cálculo da velocidade inicial para touchUp. (Ia5f6f).
  • O KDoc foi atualizado para o elemento combinável ConstraintLayout e o Constraintset. (3bfe63).

Versão 1.1.0-alpha10

24 de maio de 2023

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha10, androidx.constraintlayout:constraintlayout-compose-android:1.1.0-alpha10 e androidx.constraintlayout:constraintlayout-core:1.1.0-alpha10. A versão 1.1.0-alpha10 contém estas confirmações.

Mudanças na API

  • A API MotionLayout não é mais experimental. Ela representa o conjunto inicial de API estável para MotionLayout. (I288f4).
  • MotionLayoutState foi removido. (Id3ac1).
  • Agora você pode usar DebugFlags para depuração visual: DebugFlags(showBounds = true). (Ic714b).
  • Variável de extensão Dp.asDimension alterada para um método: Dp.asDimension(). (I2d6ef).
  • Agora, com suporte à DSL MotionLayout, defina o atraso máximo com TransitionScope.staggered. Também é possível usar ConstrainScope.staggeredWeight (em um MotionSceneScope) para receber uma ordem escalonada personalizada. (I70275).
  • Duas alterações feitas no assistente de grade: 1. paddingLeft e paddingRight como paddingStart e paddingEnd, respectivamente, e 2. atualize o formato de gridSpans e gridSkip para uma matriz dos objetos Span e Skip para torná-la mais estrutural. (Idd1eb).

Versão 1.1.0-alpha09

22 de março de 2023

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha09 e androidx.constraintlayout:constraintlayout-core:1.1.0-alpha09. A versão 1.1.0-alpha09 contém estas confirmações.

Mudanças na API

  • Modifier.intermediateLayout agora não exige um LookaheadScope explícito. O bloco de medida em intermediateLayout tem IntermediateMeasureScope como receptor, o que fornece CoroutineScope, LookaheadScope e MeasureScope convenientes.
  • O LookaheadLayout foi substituído por LookaheadScope, que não é mais um layout. Isso permite que o conteúdo filho em uma LookaheadScope seja controlado diretamente pelo MeasurePolicy do pai. (Ibe2e5).
  • Easing.Cubic() agora pode assumir parâmetros de ultrapassagem. (I2d826).

Versão 1.1.0-alpha08

8 de março de 2023

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08 e androidx.constraintlayout:constraintlayout-core:1.1.0-alpha08. A versão 1.1.0-alpha08 contém estas confirmações.

Novos recursos

  • Verificações de lint adicionadas para sugerir o uso de Dimension.percent(1f) e LayoutReference.withChainParams() nos casos em que os padrões típicos podem levar a um comportamento imprevisível (I62eb0, I03060).

Mudanças na API

  • Ative as sinalizações ReverseSpanDirection e SpansOrderFirst para o auxiliar de grade no Compose.
    1. ReverseSpanDirection: inverte a especificação de largura e altura para períodos/pulados.
    2. SpansOrderFirst: os períodos respeitam a ordem dos widgets. (I6ad50).
  • Use Modifier.onStartEndBoundsChanged(...) para extrair os limites locais dos elementos combináveis em uma MotionLayout que não são afetados pela animação. Útil para qualquer interação da interface que exija informações de layout que também podem acionar animações, como DragAndDrop. (I6b5f9).
  • O assistente de grade no Compose foi ativado para pular e ter intervalos (I917b6).

Correções de bugs

  • Correção das propriedades de tradução que não aplicavam os valores esperados. (I961cd).

Versão 1.1.0-alpha07

8 de fevereiro de 2023

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha07 e androidx.constraintlayout:constraintlayout-core:1.1.0-alpha07. A versão 1.1.0-alpha07 contém estas confirmações.

Novos recursos

  • Adição de novas APIs para ativar o auxiliar de grade no Compose usando a DSL (I1143b).

Correções de bugs

  • Correção de Wrap.Chain, porque o fluxo não mostrava o parâmetro maxElement corretamente (e1f2ed3).
  • Correção de start ConstraintSet que não era atualizado ao mudar de transição para MotionLayout(motionScene: MotionScene, progress: Float, transitionName: String) (17ffff1).
  • Correção de ConstraintSet que não refletia algumas mudanças ao herdar restrições de ConstraintSet(extendConstraintSet: ConstraintSet, description: ConstraintSetScope.() -> Unit) (740804b).

Versão 1.1.0-alpha06

25 de janeiro de 2023

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha06 e androidx.constraintlayout:constraintlayout-core:1.1.0-alpha06. A versão 1.1.0-alpha06 contém estas confirmações.

Novos recursos

  • Adicione novas APIs para ativar o auxiliar de grade no Compose com uma representação JSON que permite que os elementos combináveis sejam colocados em uma grade 2D (I968ad).

Mudanças na API

  • Adicione suporte aos modos de arco para cima e para baixo Arc.Above e modos de arco independente de direção Arc.Below para MotionLayout (I184a9).
  • Agora é possível restringir uma âncora do valor de referência a âncoras para cima/baixo e vice-versa (I54628).
  • MotionLayoutScope#motionProperties (incluindo derivados) foi renomeado como MotionLayoutScope#customProperties. Isso é consistente ao definir propriedades personalizadas (Ib34c9).
  • Agora é possível criar várias referências em ConstraintSet e MotionScene: val (box, text, button) = createRefsFor("box", "text","button"). Aplique restrições a vários elementos com constrain(box, button, text). Dentro de ConstrainScope, agora é possível definir intuitivamente uma dimensão fixa com Dp.asDimension: width = 10.dp.asDimension (I021ec, Ia0960).
  • Os métodos MotionScene() e Transition() agora são funções que não são combináveis. Os objetos dessas funções (incluindo ConstraintSet) agora precisam ser diferentes entre si. animateChanges = true em ConstraintLayout agora pode ser usado com apenas uma referência ConstraintSet, desde que qualquer uma das propriedades seja mudada na recomposição (I7d22e).

Correções de bugs

  • O problema em que ConstraintLayout sempre acionava uma recomposição extra desnecessária quando os auxiliares eram mudados foi corrigido (Id83ad, b/222093277).
  • Corrija o comportamento ao usar intrínsecos com ConstraintLayout e MotionLayout (I487ae, b/220527863).
  • Corrija o problema de não poder medir novamente quando o conteúdo muda (Ibfe8a, b/219091179).

Versão 1.1.0-alpha05

7 de dezembro de 2022

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha05 e androidx.constraintlayout:constraintlayout-core:1.1.0-alpha05. A versão 1.1.0-alpha05 contém estas confirmações.

Novos recursos

  • Suporte a KeyAttributes personalizados na DSL (b94e748).
  • Propriedades de viés da plataforma em ConstrainScope (32625d0).
  • Suporte a parâmetros personalizados em cadeias (72a2e9e).
  • Foram adicionados testes de Macrobenchmark para MotionLayout no Compose (36f43bc).
  • Para saber mais sobre as mudanças na versão anterior do Compose, consulte a página da wiki.

Mudanças na API

  • Inversão dos parâmetros addConstraintSet e addTransition (152facc).

Correções de bugs

  • Correção de cadeias horizontais (ed5f56e).

Versão 1.1.0-alpha01

20 de maio de 2022

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha01.

A API MotionLayout agora é experimental e requer ativação.

Para mais informações, consulte Novidades no Compose 1.1.0-alpha01 (em inglês) no GitHub.

Versão 2.2

Versão 2.2.0-beta01

4 de setembro de 2024

Lançamento de androidx.constraintlayout:constraintlayout:2.2.0-beta01. A versão 2.2.0-beta01 contém estas confirmações.

Versão 2.2.0-alpha14

7 de agosto de 2024

Lançamento de androidx.constraintlayout:constraintlayout:2.2.0-alpha14. A versão 2.2.0-alpha14 contém estas confirmações.

Versão 2.2.0-alpha13

4 de outubro de 2023

Lançamento de androidx.constraintlayout:constraintlayout:2.2.0-alpha13 sem mudanças. A versão 2.2.0-alpha13 contém estas confirmações.

Versão 2.2.0-alpha12

9 de agosto de 2023

Lançamento de androidx.constraintlayout:constraintlayout:2.2.0-alpha12. A versão 2.2.0-alpha12 contém estas confirmações.

Versão 2.2.0-alpha11

26 de julho de 2023

Lançamento de androidx.constraintlayout:constraintlayout:2.2.0-alpha11. A versão 2.2.0-alpha11 contém estas confirmações.

Mudanças na API

  • Foi adicionado um método setter para permitir que os desenvolvedores definam o valor de mInfiniteCarousel de forma programática (I0a8ca).

Versão 2.2.0-alpha10

24 de maio de 2023

Lançamento de androidx.constraintlayout:constraintlayout:2.2.0-alpha10. A versão 2.2.0-alpha10 contém estas confirmações.

Correções de bugs

  • Corrija um link corrompido do documento MotionLayout. (51cbe88).

Versão 2.2.0-alpha09

22 de março de 2023

Lançamento de androidx.constraintlayout:constraintlayout:2.2.0-alpha09. A versão 2.2.0-alpha09 contém estas confirmações.

Versão 2.2.0-alpha08

8 de março de 2023

Lançamento de androidx.constraintlayout:constraintlayout:2.2.0-alpha08. A versão 2.2.0-alpha08 contém estas confirmações.

Versão 2.2.0-alpha07

8 de fevereiro de 2023

Lançamento de androidx.constraintlayout:constraintlayout:2.2.0-alpha07. A versão 2.2.0-alpha07 contém estas confirmações.

Correções de bugs

  • Correção do problema de falta de conteúdo da página ConstraintLayout (I82e25).

Versão 2.2.0-alpha05

7 de dezembro de 2022

Lançamento de androidx.constraintlayout:constraintlayout:2.2.0-alpha05. A versão 2.2.0-alpha05 contém estas confirmações.

Correções de bugs

  • Correção do vazamento no carrossel de visualização (eb67b82).

Versão 2.2.0-alpha01

20 de maio de 2022

Lançamento de androidx.constraintlayout:constraintlayout:2.2.0-alpha01.

Inclui uma visualização do novo auxiliar Grid.

Para saber mais, consulte o artigo do GitHub Novidades na versão 2.2.0-alpha01 (link em inglês).

ConstraintLayout-compose 1.0

O ConstraintLayout-compose 1.0 oferece funcionalidades de ConstraintLayout no Jetpack Compose.

Versão 1.0.1

20 de maio de 2022

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.0.1.

A API MotionLayout agora é experimental e requer ativação.

Para mais informações, consulte Novidades no Compose 1.0.1 (em inglês) no GitHub.

Versão 1.0.0

13 de janeiro de 2022

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.0.0.

A API MotionLayout agora é experimental e requer ativação.

Para saber mais, consulte o artigo do GitHub Novidades na versão 1.0 do Compose (link em inglês).

Versão 1.0.0-rc02

16 de novembro de 2021

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.0.0-rc02.

Para saber mais, consulte o artigo do GitHub Novidades na versão 1.0 do Compose (link em inglês).

Versão 1.0.0-rc01

27 de setembro de 2021

androidx.constraintlayout:constraintlayout-compose:1.0.0-rc01 é lançado.

Esta é a segunda versão Beta. Ela é considerada completa e oferece o ConstraintLayout e o MotionLayout para o Compose.

Para saber mais, consulte o artigo do GitHub Novidades na versão 1.0 do Compose (link em inglês).

Versão 1.0.0-beta02

30 de julho de 2021

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.0.0-beta02.

Esta é a segunda versão Beta. Ela é considerada completa e oferece o ConstraintLayout e o MotionLayout para o Compose.

Para saber mais, consulte o artigo do GitHub Novidades na versão 1.0 do Compose (link em inglês).

Versão 1.0.0-beta01

22 de julho de 2021

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.0.0-beta01.

Esta é a primeira versão Beta. Ela é considerada completa e oferece o ConstraintLayout e o MotionLayout para o Compose.

Para saber mais, consulte o artigo do GitHub Novidades na versão 1.0 do Compose (link em inglês).

Versão 1.0.0-alpha07

18 de maio de 2021

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07.

  • Atualizada para ser compatível com a versão 1.0.0-beta07 do Compose.

Versão 1.0.0-alpha06

4 de maio de 2021

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha06.

  • Otimização do Compose: o Constraintlayout in-line pode ser composto (#193)
  • As medições que são feitas novamente foram minimizadas no Compose (#210)

Versão 1.0.0-alpha05

15 de março de 2021

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha05.

  • Inclui uma correção para o mecanismo de otimização (b/182657720).
  • Um parâmetro optimizationLevel foi adicionado ao ConstraintLayout que pode ser composto.

Versão 1.0.0-alpha04

11 de março de 2021

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha04.

Atualize para usar o mecanismo constraintlayout-core mais recente.

Versão 1.0.0-alpha03

24 de fevereiro de 2021

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha03.

Lançamento da atualização da versão do Jetpack Compose beta01.

Versão 1.0.0-alpha02

10 de fevereiro de 2021

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha02.

Lançamento da atualização da versão do Jetpack Compose alpha12.

Versão 1.0.0-alpha01

2 de fevereiro de 2021

Lançamento de androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01.

Primeiro lançamento da biblioteca, fornecendo DSLs externas e in-line para expressar restrições.

Versão 2.1

O ConstraintLayout 2.1.0 oferece recursos mais completos no MotionLayout e novos auxiliares (Carousel etc.)

Versão 2.1.4

20 de maio de 2022

Lançamento de androidx.constraintlayout:constraintlayout:2.1.4.

Para saber mais, consulte o artigo do GitHub Novidades na versão 2.1.4 (link em inglês).

Versão 2.1.3

13 de janeiro de 2022

Lançamento de androidx.constraintlayout:constraintlayout:2.1.3.

Para mais informações, consulte o artigo do GitHub O que há de novo na versão 2.1.

Versão 2.1.2

16 de novembro de 2021

Lançamento de androidx.constraintlayout:constraintlayout:2.1.2.

Para mais informações, consulte o artigo do GitHub O que há de novo na versão 2.1.

Versão 2.1.1

27 de setembro de 2021

androidx.constraintlayout:constraintlayout:2.1.1 é lançado.

Esta é a versão final para 2.1.1.

Para mais informações, consulte o artigo do GitHub O que há de novo na versão 2.1.

Versão 2.1.0

30 de julho de 2021

Lançamento de androidx.constraintlayout:constraintlayout:2.1.0.

Esta é a versão final para 2.1.0.

Para mais informações, consulte o artigo do GitHub O que há de novo na versão 2.1.

Versão 2.1.0-rc01

22 de julho de 2021

Lançamento de androidx.constraintlayout:constraintlayout:2.1.0-rc01.

Esse é o candidato a lançamento para a versão 2.1.0 e oferece pequenas melhorias e correções desde a última versão Beta. Para mais informações, consulte o artigo do GitHub O que há de novo na versão 2.1.

Versão 2.1.0-beta02

4 de maio de 2021

Lançamento de androidx.constraintlayout:constraintlayout:2.1.0-beta02.

Alguns novos recursos no MotionLayout:

  • Melhorias do método OnSwipe, incluindo de mola (rigidez, amortecimento, massa, etc.) e nunca concluídas.
  • Função jumpToState.
  • Modo ViewTransition downUp em que tocar em "down" vai até 100 e tocar em "up" para 0.

Várias correções, especialmente:

  • Correção de um problema no MotionLayout com rolagem vertical (#173)
  • Melhorias de desempenho no MotionLayout aninhado (#189)
  • Transição rápida com NestedScrollView no MotionLayout (#189)
  • ConstraintSet excluído do MotionLayout (#189)
  • Suporte para ViewTransitions downUp no MotionLayout (#190)
  • Correção no ImageFilter ao reutilizar drawables (#192)
  • Suporte para mola adicionado ao MotionLayout (#199)
  • Melhoria de desempenho no CircularFlow (#200)
  • Correções nas restrições derivadas / substituição de restrição (#212)

Versão 2.1.0-beta01

11 de março de 2021

Lançamento de androidx.constraintlayout:constraintlayout:2.1.0-beta01.

ConstraintLayout

android:layout_width e android:layout_height voltaram a ser obrigatórios devido a problemas de compatibilidade.

MotionLayout

  • Suporte programático para inserir e remover onSwipe e onClick nas transições.
  • Suporte experimental para transições com rotação de tela
  • Suporte a argumentos de duração para transições
  • Melhor compatibilidade com customAttributes booleanos ou referências.

Auxiliares

  • Uma forma de animar ou pular diretamente para um determinado item de um carrossel foi adicionada.
  • O novo auxiliar CircularFlow foi adicionado.

Veja mais informações sobre esta versão, aqui e bugs resolvidos (links em inglês).

Versão 2.1.0-alpha2

17 de dezembro de 2020

Lançamento do androidx.constraintlayout:constraintlayout:2.1.0-alpha2.

Este segundo alfa adiciona vários recursos novos:

ConstraintLayout

  • android:layout_width e android:layout_height agora são opcionais, com wrap_content como comportamento padrão.
  • Novos atributos layout_constraintWidth e layout_constraintHeight para expressar restrições de dimensão.
  • Suporte a margens negativas para restrições.
  • Suporte a valores de referência das restrições superior e inferior.
  • Suporte a restrições de margem do valor de referência.
  • SharedValues permite injetar valores externos no ConstraintLayout.

MotionLayout

  • Suporte a interpoladores de ultrapassagem (antecipar, ultrapassar).
  • Suporte melhorado para MotionHelper.
  • Adição de atualização animada de ConstraintSet ao MotionLayout updateStateAnimate(id,cset,duration);.
  • Valor compartilhado baseado em ViewTransition.
  • scheduleTransitonTo permite que você faça uma transição para execução na conclusão da transição atual.

Auxiliares

  • O Carousel agora oferece suporte para o modo infinito (circular).
  • ReactiveGuide: uma diretriz que se posiciona automaticamente quando um SharedValue muda.
  • MotionEffect: injeta Keyframes em visualizações referenciadas se movendo em determinada direção.
  • MotionLabel: visualização para animar texto de linha única.

Veja mais informações sobre essa versão aqui.

Versão 2.1.0-alpha1

19 de novembro de 2020

Lançamento do androidx.constraintlayout:constraintlayout:2.1.0-alpha1.

Primeiro Alfa da versão 2.1. Apresenta suporte para:

  • o auxiliar de movimento Carousel para criar visualizações de carrossel personalizadas;
  • as cenas do MotionLayout compatíveis com substituição de inclusões e restrições;
  • MotionLayout adiciona compatibilidade maior com rotação (entrada e saída);
  • MotionLayout adiciona ViewTransitions, permitindo transições de visualização única para mutação de conjuntos de restrições.

Veja mais informações sobre essa versão aqui.

Versão 2.0

O ConstraintLayout 2.0 adiciona novos recursos a layouts, como layouts virtuais, e uma nova classe para simplificar a animação de visualizações, a MotionLayout.

Versão 2.0.4

29 de outubro de 2020

Lançamento do androidx.constraintlayout:constraintlayout:2.0.4.

Correções de bugs

Esta versão conta com correções de um possível NPE que pode acontecer ao remover uma visualização filha no tempo de execução. Recomendamos atualizar para esta versão.

Veja aqui a lista de problemas resolvidos.

Versão 2.0.3

27 de outubro de 2020

Lançamento do androidx.constraintlayout:constraintlayout:2.0.3.

Correções de bugs

Esta versão corrige alguns problemas. Recomendamos atualizar para esta versão.

  • Processamento de inserções do Windows
  • Processamento da proporção da dimensão em algumas situações
  • Falha com alguns layouts RTL

Veja aqui a lista de problemas resolvidos.

Versão 2.0.2

6 de outubro de 2020

Lançamento de androidx.constraintlayout:constraintlayout:2.0.2.

Correções de bugs

Esta versão melhora o desempenho e corrige alguns problemas. Recomendamos atualizar para esta versão.

  • O processamento da visibilidade da visualização GONE em ConstraintLayout estava incorreto em algumas situações.
  • O processamento de cadeias empacotadas no ConstraintLayout estava incorreto em algumas situações.
  • Correção da exceção de inflação na API 15 para o auxiliar de layout virtual do Flow.
  • limitsBoundsTo estava corrompido no MotionLayout.
  • jump to end estava corrompido no MotionLayout em algumas situações (transições de encadeamento).

Veja aqui a lista de problemas resolvidos.

Versão 2.0.1

25 de agosto de 2020

Lançamento de androidx.constraintlayout:constraintlayout:2.0.1.

Esta é uma atualização pequena que permite o uso do MotionEditor no Android Studio.

Versão 2.0.0

21 de agosto de 2020

Lançamento do androidx.constraintlayout:constraintlayout:2.0.0.

Correções de bugs

Veja aqui a lista de problemas resolvidos.

As correções importantes são as seguintes:

  • Atrasos na MotionLayout Transition e correções do TransitionListener
  • Correções do fluxo e da barreira ConstraintLayout

Versão 2.0.0-rc1

29 de julho de 2020

Lançamento do androidx.constraintlayout:constraintlayout:2.0.0-rc1.

Correções de bugs

Veja aqui a lista de problemas resolvidos.

As correções importantes são as seguintes:

  • Correções de fluxo
  • Correções do RecyclerView (recomendamos atualizar o recyclerview para 1.2.0 alpha 5 ou mais recente)
  • Correções do MotionLayout TransitionListener
  • Correção do vazamento de memória do MotionLayout

Versão 2.0.0-beta8

7 de julho de 2020

Lançamento do androidx.constraintlayout:constraintlayout:2.0.0-beta8.

Correções de bugs

Veja aqui a lista de problemas resolvidos.

As correções importantes são as seguintes:

  • Comportamento do marcador
  • Visibilidade da camada
  • Fluxo, correções de barreira
  • Correções de TransitionListener

Versão 2.0.0-beta7

12 de junho de 2020

Lançamento de androidx.constraintlayout:constraintlayout:2.0.0-beta7.

Correções de bugs

Veja aqui a lista de problemas resolvidos.

As correções importantes são as seguintes:

  • Problemas de visualização de rolagem aninhada em MotionLayout
  • Problemas de listener de transição com MotionLayout
  • Vazamento de memória em MotionLayout
  • Problemas de RecyclerView
  • Visibilidade do grupo
  • Problemas de padding

Versão 2.0.0-beta6

13 de maio de 2020

Lançamento de androidx.constraintlayout:constraintlayout:2.0.0-beta6.

Correções de bugs

Veja aqui a lista de problemas resolvidos. As principais correções são problemas de processamento de visibilidade de grupo e restrições derivadas no MotionLayout.

Versão 2.0.0-beta5

7 de maio de 2020

Lançamento de androidx.constraintlayout:constraintlayout:2.0.0-beta5.

Correções de bugs

Veja aqui a lista de problemas resolvidos

Versão 2.0.0-beta4

16 de dezembro de 2019

Lançamento de androidx.constraintlayout:constraintlayout:2.0.0-beta4.

Novos recursos

MotionLayout

Novos atributos em Transition:

  • layoutDuringTransition: permite que você configure como a classe MotionLayout reagirá às chamadas de requestLayouts de filhos durante uma transição. Os valores possíveis são {ignoreRequest, honorRequest}
  • pathMotionArc: o caminho percorrido pelos elementos em movimento usará um arco. Os valores possíveis são {startVertical | startHorizontal | flip | none}

Agora é possível definir uma transição padrão omitindo os ConstraintSets de início e fim. Essa transição padrão será usada se não for encontrada nenhuma outra transição correspondente aos estados de início e fim.

Correções de bugs

Veja aqui a lista de problemas resolvidos