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 atual Próximo candidato a lançamento Versão Beta Versão Alfa
constraintlayout 2.0.4 - 2.1.0-beta02 -
constraintlayout-compose - - - 1.0.0-alpha07
Esta biblioteca foi atualizada pela última vez em 18 de maio de 2021

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 no arquivo build.gradle para seu app ou módulo:

Groovy

dependencies {
    implementation "androidx.constraintlayout:constraintlayout:2.0.4"
    // To use constraintlayout in compose
    implementation "androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07"
}

Kotlin

dependencies {
    implementation("androidx.constraintlayout:constraintlayout:2.0.4")
}

Para ver mais informações sobre dependências, consulte Adicionar dependências de compilação.

Feedback

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

Criar novo problema

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

ConstraintLayout-compose 1.0

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

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 (carrossel, etc.).

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)
  • Compatibilidade com ViewTransitions downUp no MotionLayout (#190)
  • Correção no ImageFilter ao reutilizar drawables (#192)
  • Compatibilidade com mola adicionada 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

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

Ajudantes

  • Uma forma de animar ou pular diretamente para um determinado item de um carrossel foi adicionada.
  • O novo assistente 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.
  • Compatibilidade com margens negativas para restrições.
  • Compatibilidade com os valores de referência das restrições superior e inferior.
  • Compatibilidade com as restrições de margem do valor de referência.
  • SharedValues permite injetar valores externos no ConstraintLayout.

MotionLayout

  • Compatibilidade com interpoladores de ultrapassagem (antecipar, ultrapassar).
  • Compatibilidade melhorada com 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.

Ajudantes

  • O Carousel agora é compatível com 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 compatibilidade com:

  • 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

Isso lança 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 1.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