Compose Material 3 Adaptive

  
Use a biblioteca adaptável do Material 3 para criar interfaces adaptáveis que se ajustam automaticamente de acordo com as configurações da janela atual, como classes de tamanho de janela ou posturas do dispositivo. A biblioteca fornece implementações de scaffold padrão e elementos combináveis necessários para criar suas próprias experiências personalizadas.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
2 de julho de 2025 1.1.0 - - 1.2.0-alpha08

Declarar dependências

Para adicionar uma dependência ao Compose, 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.compose.material3.adaptive:adaptive:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha08"
}

Kotlin

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.2.0-alpha08")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha08"
}

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.

Compose Material3 Adaptive: versão 1.2

Versão 1.2.0-alpha08

2 de julho de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha08. A versão 1.2.0-alpha08 contém estas confirmações.

Versão 1.2.0-alpha07

18 de junho de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha07. A versão 1.2.0-alpha07 contém estas confirmações.

Mudanças na API

  • Faça com que a função currentWindowAdaptiveInfo() ofereça suporte a classes de tamanho de largura de janela grande e extragrande e promova as funções calculatePosture() e currentWindowDpSize() para estáveis. (I92e97).

Versão 1.2.0-alpha06

20 de maio de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha06. A versão 1.2.0-alpha06 contém estas confirmações.

Novos recursos

  • Agora, as funções de cálculo de diretiva de estrutura de painel padrão são compatíveis com classes de tamanho de largura de janela L e XL.

Mudanças na API

  • Faça com que o Modifier.paneExpansionDraggable forneça semântica de acessibilidade padrão e promova APIs relevantes para estáveis. (Idb818).
  • Suporte a arrastar para redimensionar com painéis elevados (Idadd3)
  • Adição de scrims de suporte para painéis elevados (I9b091).

Versão 1.2.0-alpha05

7 de maio de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha05. A versão 1.2.0-alpha05 contém estas confirmações.

Novos recursos

  • Os layouts adaptáveis do Material3 agora oferecem suporte a estratégias de adaptação Levitated, que podem transformar um painel em um pop-up flutuante.

Mudanças na API

  • Fazer com que as funções de tamanho da janela atual ofereçam suporte a várias plataformas (Ie4172)
  • Introdução de movimentos de painel para painéis elevados (Ic9dc3)
  • Introdução da estratégia de levitação para adaptação (I1ba7c)

Correções de bugs

  • Correção do uso do escopo de corrotina em exemplos adaptáveis (7631016)

Versão 1.2.0-alpha04

23 de abril de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha04. A versão 1.2.0-alpha04 contém estas confirmações.

Novos recursos

  • As estratégias de reflow agora estão disponíveis com ListDetailPaneScaffold e SupportingPaneScaffold, que refazem o fluxo do painel associado em uma configuração de layout de painel único.

Mudanças na API

  • Adição do suporte de estado salvável ao PaneScaffoldScope (Id9299).
  • Introdução da estratégia de reflow para adaptação (I75c6a)

Correções de bugs

  • Correção do bug em que os painéis não são animados na primeira transição. (Ib0415).
  • Correção de alturas preferidas que não funcionam. (I1913b)
  • Correção do bug em que a diretiva de estrutura não era atualizada corretamente. (0403ab).

Versão 1.2.0-alpha03

9 de abril de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha03. A versão 1.2.0-alpha03 contém estas confirmações.

Correções de bugs

  • ​​Correção do problema em que a alça de arrastar era mostrada incorretamente no layout de painel único. (806e443 )

Atualizações de dependência

  • Essa biblioteca agora é destinada ao nível de linguagem Kotlin 2.0 e exige o KGP 2.0.0 ou mais recente. (Idb6b5)

Versão 1.2.0-alpha02

26 de março de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.

Versão 1.2.0-alpha01

12 de março de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha01. A versão 1.2.0-alpha01 contém estas confirmações.

Mudanças na API

  • Introduzimos o modificador PaneScaffoldScope.preferredHeight para que os desenvolvedores forneçam alturas preferenciais de painel que serão aplicadas com as novas estratégias de adaptação que vamos apresentar. (I957dd, b/220960090).
  • Renomeie os tipos ComponentOverride para Override e os tipos ComponentOverrideContext para OverrideScope. (Id973c).
  • Renomeie alguns métodos de substituição de componentes. (I222b3).

Compose Material3 Adaptive: versão 1.1

Versão 1.1.0

12 de março de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0. A versão 1.1.0 contém estas confirmações.

Mudanças importantes desde a versão 1.0.0

Versão 1.1.0-rc01

26 de fevereiro de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-rc01. A versão 1.1.0-rc01 contém estas confirmações.

Correções de bugs

  • Desativar o escalonamento de volta preditiva do scaffold de três painéis (ab6fd0b)

Versão 1.1.0-beta02

12 de fevereiro de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta02. A versão 1.1.0-beta02 contém estas confirmações.

Mudanças na API

  • Mudança na forma como isPredictiveBackInProgress é definido nas funções de animação MutableThreePaneScaffoldState para preservar a consistência do estado. (Idc97f)

Correções de bugs

  • O comportamento padrão de retorno de NavigableListDetailPaneScaffold e NavigableSupportingPaneScaffold foi alterado para PopUntilScaffoldValueChange para consistência com o restante da biblioteca. (I873f0).
  • Defina a ordem correta de travessia de acessibilidade dos scaffolds de painel. (67d030)
  • Correção do problema em que os estados de conteúdo do painel não são salvos. (88b0ff)
  • Oferecer suporte a ações de acessibilidade alternativas em vez de arrastar. (28266d).
  • Anuncia a divisão do painel atual depois que ela é alterada. (0c3a80)

Versão 1.1.0-beta01

29 de janeiro de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta01. A versão 1.1.0-beta01 contém estas confirmações.

Mudanças na API

  • Introduzir funções de fábrica para criar âncoras de expansão de painel do tipo de deslocamento do início e do fim, respectivamente. (I2eb21).
  • Selar a interface PaneMotion e remover os métodos de transição padrão dela. (Ifc4c7).
  • Introduzir APIs para receber a âncora atual e animar até uma âncora. (Icf95d).
  • Introdução de APIs de acessibilidade para expansão de painéis (Icc669)
  • Mude o tipo de PaneScaffoldParentData.preferredWidth para DP. (Id98ee)

Versão 1.1.0-alpha09

15 de janeiro de 2025

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha09. A versão 1.1.0-alpha09 contém estas confirmações.

Mudanças na API

  • Adicione e use a nova anotação experimental ExperimentalMaterial3AdaptiveComponentOverrideApi. (Id45aa).
  • Oculte ThreePaneScaffoldHorizontalOrder.toLtrOrder. (I6f8d2).
  • O ThreePaneScaffoldPredictiveBackHandler foi publicado. (I1a995, b/370543873).
  • A propriedade isPredictiveBackInProgress foi adicionada a ThreePaneScaffoldState. (I1a995, b/370543873).
  • Crie um mecanismo de substituição para AnimatedPane e ofereça suporte a implementações de sideloading para diferentes formatos. (Id7622)

Correções de bugs

  • Correção do problema quando a direção de ajuste não tem fixações. (df8257d)

Versão 1.1.0-alpha08

12 de dezembro de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha08. A versão 1.1.0-alpha08 contém estas confirmações.

Mudanças na API

  • Introdução da função currentWindowDpSize. (I99125, b/296300441).
  • Exposição de PaneScaffoldParentData e ThreePaneScaffoldHorizontalOrder.toLtrOrder() (I2d6b7).
  • Remova PaneScaffoldMotionScope e transforme em um campo em PaneScaffoldTransitionScope. Renomeie também para PaneScaffoldMotionDataProvider e remova o acesso à estrutura de dados subjacente de PaneMotionData. Em vez disso, forneça métodos getter e de loop para acessar os dados. (Id8884).
  • Crie um mecanismo de substituição para ThreePaneScaffold e ofereça suporte a implementações de sideloading para diferentes formatos. (I5280f).
  • Faz com que o estado de expansão do painel seja nulo por padrão (Ia65f8, b/376394520).

Versão 1.1.0-alpha07

13 de novembro de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07. A versão 1.1.0-alpha07 contém estas confirmações.

Mudanças na API

  • Remova a implementação da alça de arrastar na biblioteca adaptativa e incentive as pessoas a usar a versão M3 dela. Ao mesmo tempo, introduza um modificador para fornecer a capacidade de arrastar a expansão do painel a um elemento combinável de alça de arrastar fornecido. Também vamos ocultar DraggableState como um detalhe de implementação para que possamos mudar isso mais tarde, se necessário. (Ib50cd).
  • Move o ponto de entrada da personalização de movimento do painel das funções de scaffold para AnimatedPane de acordo com o feedback da UXR. (I10f72).
  • Introdução do suporte a deslizar rapidamente e especificação de animação personalizada para expansão do painel. (Ie207d, b/362584341)

Correções de bugs

Versão 1.1.0-alpha06

30 de outubro de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06. A versão 1.1.0-alpha06 contém estas confirmações.

Mudanças na API

  • FloatRange foi adicionada a PaneScaffoldTransitionScope.motionProgress. (Iac0dd).
  • Mude o tipo de parâmetros do navegador para tipos genéricos em estruturas navegáveis. (I1da6e).

Versão 1.1.0-alpha05

16 de outubro de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05. A versão 1.1.0-alpha05 contém estas confirmações.

Mudanças na API

  • Introduzimos a classe de especificações de animação para garantir um comportamento de movimento mais consistente e capacidade de expansão futura. (I2d3cc).
  • Forneça o tipo de movimento e renomeie currentXXXXX em PaneMotionData para originXXXX. (I7c61a).

Versão 1.1.0-alpha04

2 de outubro de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04. A versão 1.1.0-alpha04 contém estas confirmações.

Novos recursos

  • Adição de suporte à volta preditiva em NavigableListDetailPaneScaffold e NavigableSupportingPaneScaffold. (I4dc21, b/359616816).

Mudanças na API

  • A ThreePaneScaffoldState foi adicionada a ThreePaneScaffoldNavigator. Os métodos de navegação foram feitos suspend para oferecer suporte à navegação com animação. Adição de seekBack para oferecer suporte a estados de navegação parcial (por exemplo, volta preditiva). (I5a651, b/359616816)
  • Adição de MutableThreePaneScaffoldState para controlar a transição entre valores de estrutura. O ThreePaneScaffoldState atual foi definido como somente leitura. (Idb3c6).
  • Exposição das implementações de movimento do painel padrão (I95a7b).
  • Permitir a definição da âncora inicial do estado de expansão do painel (Ie41b3, b/362350560).

Correções de bugs

  • Aplicar o tamanho mínimo de destino de toque de 48x48 dp da alça de arrastar (7ce6635, b/366018217).
  • Restauração da posição ancorada após mudanças de configuração (3c9fc6b, b/362353672)

Versão 1.1.0-alpha03

18 de setembro de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03. A versão 1.1.0-alpha03 contém estas confirmações.

Versão 1.1.0-alpha02

4 de setembro de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02. A versão 1.1.0-alpha02 contém estas confirmações.

Novos recursos

  • A personalização de movimento (I0bf9c), (I80e66) é compatível para que os criadores mudem os movimentos padrão durante as mudanças de estado do scaffold adaptável. Os criadores podem escolher entre um conjunto de transições de entrada e saída padrão ou implementar transições totalmente personalizadas com as informações fornecidas pelos novos escopos de movimento.
  • Implementar animação de fade-in das alças de arrastar para expandir o painel (46e3c69)
  • Agora, o PaneExpansionState lembrado pode ser salvo (61ff76f).

Mudanças na API

  • Adição de APIs de expansão de painel ausentes a estruturas (Ic5bc0)
  • O elemento ThreePaneScaffoldDestinationItem.content foi renomeado como contentKey. O argumento de tipo padrão rememberListDetailPaneScaffoldNavigator e rememberSupportingPaneScaffoldNavigator mudou de Nothing para Any. (I58749).
  • Marcar ThreePaneScaffoldState como estável (I64aec)
  • Definir o escopo dos parâmetros de alça de arrastar (Ic0aa2)

Versão 1.1.0-alpha01

21 de agosto de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Novos recursos

  • Introduzir a compatibilidade com a expansão do painel de estruturas adaptáveis.

Mudanças na API

  • Introdução das APIs de expansão de painel ao público (I301d6)
  • Introduzimos ThreePaneScaffoldState para controlar as transições de valor do painel. Adicionadas sobrecargas de ListDetailPaneScaffold e SupportingPaneScaffold que aceitam esse estado. (I5db3b).
  • Introdução da chave de expansão do painel e da interface do provedor de chaves (Id621f)

Correções de bugs

  • Correção do cálculo incorreto de partição quando uma dobradiça excluída está presente. (9dfd483)

Compose Material3 Adaptive: versão 1.0

Versão 1.0.0

4 de setembro de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.0.0. A versão 1.0.0 contém estas confirmações.

Principais recursos da versão 1.0.0

Versão 1.0.0-rc01

21 de agosto de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01. A versão 1.0.0-rc01 contém estas confirmações.

Correções de bugs

  • Correção do cálculo incorreto de partição quando uma dobradiça excluída está presente. (9dfd483)

Versão 1.0.0-beta04

26 de junho de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04. A versão 1.0.0-beta04 contém estas confirmações.

Correções de bugs

  • Corrige o problema em que, quando os limites da dobradiça são atualizados, o layout não é atualizado de acordo. (71e9cf1)

Versão 1.0.0-beta03

12 de junho de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03. A versão 1.0.0-beta03 contém estas confirmações.

Correções de bugs

  • Corrige falhas causadas pela resolução incorreta de dependências na versão beta02.

Versão 1.0.0-beta02

29 de maio de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02. A versão 1.0.0-beta02 contém estas confirmações.

Versão 1.0.0-beta01

14 de maio de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.

Versão 1.0.0-alpha12

1º de maio de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12. A versão 1.0.0-alpha12 contém estas confirmações.

Mudanças na API

  • Adição de informações de isFlat a HingeInfo (Ie0516, b/333784198).
  • As APIs adaptáveis não são mais experimentais (I1d038).
  • As APIs de layout adaptável não são mais experimentais (Id23df).
  • Mudança de BackNavigationBehavior de uma enumeração para uma classe de valor (Id8757).

Correções de bugs

  • Mudar a fração de transição para uma lambda (I6f5a9)
  • Correção do problema de estado inicial de SizeTracker (18326a9).
  • Incluir lista de dobradiças na verificação de igualdade Posture (6687137)

Versão 1.0.0-alpha11

17 de abril de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estas confirmações.

Mudanças na API

  • Faça com que as interfaces de escopo sejam seladas. (Iefa57).
  • Apresente AnimatedPaneScope. (I62d73, b/332750742).
  • Deixar AdaptStrategy selado e estável. (Ia28b2).
  • Introduza um método de cópia de PaneScaffoldDirective. (I9291f)
  • ThreePaneScaffoldScope foi marcado como experimental. (I9d527).
  • Forneça APIs de scaffolding fáceis de usar que ofereçam suporte à navegação. (I263f0, b/321010778).

Versão 1.0.0-alpha10

3 de abril de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estas confirmações.

Mudanças na API

  • Tornar a largura preferida padrão adaptável e personalizável. (Ic3abc).
  • Renomeie as funções de cálculo de diretivas de scaffolding. (I10855).
  • Remova paddings e encartes das APIs de scaffold. (I786f8).
  • Adicione métodos de lembrete do navegador sem tipos genéricos. (I607c3)

Versão 1.0.0-alpha09

20 de março de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estas confirmações.

Mudanças na API

  • Adicione campos de transição de estado a ThreePaneScaffoldScope. (I3d917).
  • Reordene os parâmetros de scaffolding. (I4dff5).
  • Forneça o valor padrão do parâmetro modificador AnimatedPane. (I77dd7).

Correções de bugs

  • Inclua o tamanho do espaçador nos movimentos do painel. (a3174ca)

Versão 1.0.0-alpha08

6 de março de 2024

Lançamento de androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estas confirmações.

Novos recursos

  • Implemente o deslizamento atrasado ao trocar de painéis. (I1a38e).

Mudanças na API

  • A interface ThreePaneScaffoldState foi removida. (I63f23).

Versão 1.0.0-alpha07

21 de fevereiro de 2024