Compose Material 3 adaptável

  
Use a biblioteca adaptativa do Material 3 para criar interfaces adaptativas que se adaptam automaticamente de acordo com as configurações de 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 de blocos de construção 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
12 de dezembro de 2024 1.0.0 - - 1.1.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.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

Kotlin

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

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: versão 1.1 adaptável

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

  • Apresente a função currentWindowDpSize. (I99125, b/296300441).
  • PaneScaffoldParentData e ThreePaneScaffoldHorizontalOrder.toLtrOrder() foram expostos (I2d6b7).
  • Remova PaneScaffoldMotionScope e transforme-o em um campo em PaneScaffoldTransitionScope. Renomeie-o para PaneScaffoldMotionDataProvider e remova o acesso à estrutura de dados subjacente de PaneMotionData. Em vez disso, forneça métodos de getter e looping para acessar os dados. (Id8884).
  • Criação de um mecanismo de substituição para ThreePaneScaffold para oferecer suporte a implementações de sideload para diferentes formatos. (I5280f).
  • O estado de expansão do painel é definido como 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

  • A implementação da alça de arrasto foi removida da biblioteca adaptativa, e as pessoas foram incentivadas a usar a versão M3 dela. E, ao mesmo tempo, introduzir um modificador para fornecer a capacidade de arrastar a expansão do painel para um elemento combinável de alça de arrasto fornecido. Também ocultamos DraggableState como um detalhe de implementação para podermos mudar isso mais tarde, se necessário. (Ib50cd).
  • Move o ponto de entrada da personalização do movimento do painel das funções de esqueleto para AnimatedPane de acordo com o feedback do UXR. (I10f72).
  • Introdução ao suporte a deslizar rapidamente e à especificação de animação personalizada para expansão de 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 esqueletos 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

  • A classe de especificações de animação foi introduzida para garantir um comportamento de movimento mais consistente e uma futura capacidade de expansão. (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 a NavigableListDetailPaneScaffold e NavigableSupportingPaneScaffold. (I4dc21, b/359616816).

Mudanças na API

  • A ThreePaneScaffoldState foi adicionada a ThreePaneScaffoldNavigator. Os métodos de navegação foram suspend para oferecer suporte à navegação com animação. Foi adicionado seekBack para oferecer suporte a estados de navegação parciais (por exemplo, volta preditiva). (I5a651, b/359616816).
  • Adição de MutableThreePaneScaffoldState para controlar a transição entre os valores do scaffold. O ThreePaneScaffoldState atual foi definido como somente leitura. (Idb3c6).
  • Implementações de movimento de painel padrão foram expostas (I95a7b).
  • Ativação da configuração do âncora inicial do estado de expansão do painel (Ie41b3, b/362350560).

Correções de bugs

  • O tamanho mínimo do alvo de toque da alça de arrasto é definido como 48x48 dp (7ce6635, b/366018217).
  • A posição ancorada é restaurada 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) tem suporte para que os criadores mudem os movimentos padrão durante as mudanças de estado do lixeiro adaptativo. 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.
  • Implementação da animação de desbotamento das alças de arrasto de expansão do painel (46e3c69).
  • Agora, o PaneExpansionState lembrado pode ser salvo (61ff76f).

Mudanças na API

  • Foram adicionadas APIs de expansão de painel ausentes aos scaffolds (Ic5bc0).
  • O elemento ThreePaneScaffoldDestinationItem.content foi renomeado como contentKey. O argumento de tipo padrão rememberListDetailPaneScaffoldNavigator e rememberSupportingPaneScaffoldNavigator foi alterado de Nothing para Any. (I58749).
  • ThreePaneScaffoldState foi marcado como estável (I64aec).
  • Os parâmetros da alça de arrasto foram incluídos no escopo (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

  • Adição de suporte à expansão do painel de scaffolds adaptáveis.

Mudanças na API

  • Introdução das APIs de expansão de painel ao público (I301d6).
  • ThreePaneScaffoldState foi introduzido para controlar as transições de valor do painel. Foram 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 de partição incorreto quando a articulação 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 de partição incorreto quando a articulação 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

  • Correção do problema em que, quando os limites da articulação 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

  • Correção de falhas causadas pela resolução incorreta de dependências na 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 adaptativas deixaram de ser experimentais (I1d038).
  • As APIs de layout adaptável não são mais experimentais (Id23df).
  • O BackNavigationBehavior foi mudado de uma enumeração para uma classe de valor (Id8757).

Correções de bugs

  • Mudança da fração de transição para um lambda (I6f5a9).
  • Correção do problema de estado inicial de SizeTracker (18326a9).
  • Incluir a lista de articulações 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

  • As interfaces de escopo foram seladas. (Iefa57).
  • Apresente AnimatedPaneScope. (I62d73, b/332750742).
  • O AdaptStrategy foi selado e estabilizado. (Ia28b2).
  • Apresente um método de cópia de PaneScaffoldDirective. (I9291f).
  • ThreePaneScaffoldScope foi marcado como experimental (I9d527).
  • Forneça APIs de esqueleto 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 padrão preferida adaptável e personalizável. (Ic3abc).
  • Renomeie as funções de cálculo de diretivas de esqueleto. (I10855).
  • Os preenchimentos e insets foram removidos das APIs de scaffold. (I786f8).
  • Adição de métodos de recordação 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).
  • Reordenar parâmetros de esqueleto. (I4dff5).
  • Fornece o valor padrão do parâmetro de modificador AnimatedPane. (I77dd7).

Correções de bugs

  • Incluir o tamanho do espaçamento 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 alternar painéis. (I1a38e).

Mudanças na API

  • A interface ThreePaneScaffoldState foi removida. (I63f23).

Versão 1.0.0-alpha07

21 de fevereiro de 2024