Compose Material 3

Crie IUs do Jetpack Compose usando componentes do Material Design 3, a nova versão do Material Design. O Material 3 inclui temas e componentes atualizados, além de recursos de personalização do Material You, como cores dinâmicas, e foi desenvolvido para ser coeso com o novo estilo visual do Android 12 e com a IU do sistema.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
26 de junho de 2024 1.2.1 - 1.3.0-beta04 -

Estrutura

O Compose é uma combinação de sete IDs de grupos do Maven no androidx. Os grupos contêm um subconjunto direcionado de funcionalidades, cada um com um conjunto próprio de notas da versão.

Esta tabela explica os grupos e contém links para cada conjunto de notas da versão.

GrupoDescrição
compose.animationCrie animações nos aplicativos Jetpack Compose para enriquecer a experiência do usuário.
compose.compilerTransforme funções @Composable e ative otimizações com um plug-in do compilador Kotlin.
compose.foundationCrie aplicativos do Jetpack Compose com elementos básicos prontos que podem ser usados para criar suas próprias peças de sistema de design.
compose.materialCrie IUs do Jetpack Compose com componentes do Material Design prontos para uso. Este é o ponto de entrada de nível mais alto do Compose, projetado para fornecer componentes que correspondam aos descritos em www.material.io.
compose.material3Crie IUs do Jetpack Compose usando componentes do Material Design 3, a nova versão do Material Design. O Material 3 inclui temas e componentes atualizados, além de recursos de personalização do Material You, como cores dinâmicas, e foi desenvolvido para ser coeso com o novo estilo visual do Android 12 e com a interface do sistema.
compose.runtimeElementos fundamentais do modelo de programação e do gerenciamento de estado do Compose e do ambiente de execução principal do plug-in Compose Compiler.
compose.uiComponentes fundamentais do Compose UI necessários para interagir com o dispositivo, incluindo layout, desenho e entrada.

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 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:material3:1.2.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.2.1"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-beta03"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.2.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.2.1")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-beta03")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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 comum 1.0

Versão 1.0.0-alpha01

17 de abril de 2024

Lançamento de androidx.compose.material3:material3-common:1.0.0-alpha01, androidx.compose.material3:material3-common-android:1.0.0-alpha01 e androidx.compose.material3:material3-common-desktop:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

Componentes sem tema que podem ser usados para criar componentes do Material Design:

Compose Material3 Adaptive Navigation Suite versão 1.0

Versão 1.0.0-alpha07

1o de maio de 2024

Lançamento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07 e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estas confirmações.

Mudanças na API

  • As APIs do pacote de navegação não são experimentais (If62af).

Correções de bugs

  • Consumir encartes de conteúdo por padrão (50266df)

Versão 1.0.0-alpha06

17 de abril de 2024

Lançamento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06 e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Mudanças na API

  • Adicione containerColor e contentColor a NavigationSuiteScaffoldDefaults. (I64e3a, b/331993720).
  • Adicionando a função itemColors a NavigationSuiteDefaults. (Idf719, b/328480012).
  • Feche NavigationSuiteScope. (Iefa57).

Versão 1.0.0-alpha05

6 de março de 2024

Lançamento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05 e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Mudanças na API

Versão 1.0.0-alpha04

21 de fevereiro de 2024

Lançamento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04 e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Atualizações de dependência

  • As dependências adaptáveis do Material3 foram atualizadas para os caminhos do novo módulo. (Ibc421).
  • Migrar para usar a versão do Window Manager das classes de tamanho de janela. (I3794d).

Versão 1.0.0-alpha03

7 de fevereiro de 2024

Lançamento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03 e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Mudanças na API

  • Atualização do nome do pacote para navigationsuite do navegador (I7eff7).
  • Os componentes do Material3 que expõem um MutableInteractionSource na API foram atualizados para expor um MutableInteractionSource anulável, que é definido como nulo por padrão. Não há mudanças semânticas aqui: transmitir um valor nulo significa que você não quer elevar a MutableInteractionSource, que vai ser criada dentro do componente, se necessário. Mudar para nulo permite que alguns componentes nunca aloquem uma MutableInteractionSource e que outros componentes só criem lentamente uma instância quando necessário, o que melhora o desempenho desses componentes. Se você não estiver usando o MutableInteractionSource transmitido a esses componentes, é recomendável transmitir o valor nulo. Também é recomendável fazer mudanças semelhantes nos seus próprios componentes. (I41abb, b/298048146).

Versão 1.0.0-alpha02

13 de dezembro de 2023

Lançamento de androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02 e androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Novos recursos

Correções de bugs

  • Correção do componente de navegação que preenche a tela inteira quando a superfície raiz tem modifier.fillMaxSize (c9cf250, b/312664933).

Versão 1.0.0-alpha01

15 de novembro de 2023

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

Novos recursos

Compose Material3 Adaptive versão 1.0

Versão 1.0.0-alpha06

7 de fevereiro de 2024

Lançamento de androidx.compose.material3:material3-adaptive:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06 e androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Novos recursos

  • Foram adicionadas outras opções de comportamento para a navegação de retorno do ThreePaneScaffoldNavigator. (I858aa).
  • Adicionamos conteúdo de destino opcional ao histórico de navegação. (Ibd7e6).

Versão 1.0.0-alpha05

24 de janeiro de 2024

Lançamento de androidx.compose.material3:material3-adaptive:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05 e androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Novos recursos

  • Suporte ao reconhecimento de histórico na navegação do scaffold e no cálculo de valor (I71d46).

Versão 1.0.0-alpha04

10 de janeiro de 2024

Lançamento de androidx.compose.material3:material3-adaptive:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04 e androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Novos recursos

  • Foi adicionado suporte de ponta a ponta em scaffolds do painel (I1b462).

Mudanças na API

  • As propriedades dos limites de articulação na Postura foram movidas para uma lista de informações da articulação (I24f90).

Correções de bugs

  • Correção que AnimatedPane não é recomposto (c3f573d).

Versão 1.0.0-alpha03

13 de dezembro de 2023

Lançamento de androidx.compose.material3:material3-adaptive:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03 e androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Mudanças na API

  • Mude as funções de scaffold para o alias ThreePaneScaffoldRole. (I65bd1).
  • Criação de uma classe de base para papéis de scaffold (I4784d).
  • Remoção de parâmetro desnecessário do conteúdo de AnimatedPane (Ibc73b).
  • Renomeia collectWindowSizeAsState e retorna valores brutos (I480f4).

Versão 1.0.0-alpha02

29 de novembro de 2023

Lançamento de androidx.compose.material3:material3-adaptive:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02 e androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Mudanças na API

  • Divisão de APIs de navegação a partir de APIs de scaffold adaptáveis. (Ic4045).
  • Remover a classe GutterSize. (I785b3).

Correções de bugs

  • Os painéis de correção não são alternados quando AnimatedPane não é usado (d88f181).

Versão 1.0.0-alpha01

15 de novembro de 2023

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

Novos recursos

APIs de condição adaptável do Material3:

APIs de diretiva de scaffold do painel adaptável do Material3:

APIs de scaffold do painel adaptável do Material3:

Compose Material3 versão 1.3

Versão 1.3.0-beta04

26 de junho de 2024

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

Versão 1.3.0-beta03

12 de junho de 2024

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

Contribuição externa

  • Disponibilizar androidx.compose.material3.DropdownMenu do conjunto de origem comum. (If62c0).

Versão 1.3.0-beta02

29 de maio de 2024

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

Mudanças na API

  • Modifier.pullToRefreshIndicator oferece suporte à elevação. Atualize as APIs Pull To Refresh para que sejam ativadas como um booleano em vez de um lambda. Suporte ao alinhamento de conteúdo no PullToRefreshBox (I75679).
  • Transformar TooltipScope em uma interface selada e criar uma implementação interna para usar no TooltipBox e no rótulo (I3833e).
  • Foram adicionados dois novos modificadores em CarouselItemScope, maskClip e maskBorder, para adicionar facilmente uma forma e uma borda a qualquer item do carrossel (Id67a1).
  • TimePickerState agora é uma interface e permite definir o horário (I88546).
  • Atualização da API para definir o estilo dos links: o TextLinkStyles foi movido para TextStyle e o TextDefaults foi removido do Material Design. (I5477b).

Correções de bugs

  • Os ícones da barra de status e de navegação do ModalBottomSheet agora respondem ao status do tema escuro. (Ie1fe7, b/338342149).
  • Adição de semântica de fechamento de página ao scrim ModalBottomSheet. (0e61cb,b/328801864).

Contribuição externa

  • Disponibilização de androidx.compose.material3.AlertDialog do conjunto de origem comum (Ia33f5).
  • Disponibilização de ModalBottomSheet a partir do conjunto de origem comum (Id7cc7).

Versão 1.3.0-beta01

14 de maio de 2024

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

Mudanças na API

  • Usar DpSize em vez de CaretProperties. Removendo CaretProperties. Renomeie CaretScope como TooltipScope. (Id9a76).
  • A API para receber links com tema do Material Design no texto foi atualizada. Mais especificamente, os métodos do TextDefaults foram removidos para construir LinkAnnotations com tema e analisar HTML com links temáticos Em vez disso, foi adicionada uma classe TextLinkStyles, que permite estilizar os links como um parâmetro para o elemento combinável Text. (I31b93).

Versão 1.3.0-alpha06

1o de maio de 2024

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

Mudanças importantes

  • Novas APIs de pull para atualizar:

    • Simplificamos o PullToRefreshState para usar valores fracionários em vez de unidades de Dp.
    • O estado isRefreshing é controlado pelo usuário em vez do estado PullToRefreshState.
    • A conexão de rolagem aninhada foi separada de PullToRefreshState. Ele é processado pelo novo PullToRefreshBox ou Modifier.pullToRefresh.
    • Essa atualização é uma alteração interruptiva em APIs experimentais anteriores. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683).

Mudanças na API

  • RippleConfiguration#isEnabled foi removido e LocalRippleConfiguration agora é anulável. Para desativar uma ondulação, em vez de fornecer um RippleConfiguration com isEnabled = false, forneça null para LocalRippleConfiguration. (I22725).
  • O ModalBottomSheet desenha o scrim sobre a barra de status com mais precisão quando a opção de ponta a ponta está ativada. O conteúdo modal da página inferior agora pode consumir encartes de janela, permitindo conteúdo visível acima da barra de navegação. O parâmetro ModalBottomSheet windowInsets foi renomeado como contentWindowInsets para especificar onde os encartes vão ser aplicados. Eles não estão mais vinculados à lógica da janela. O tipo contentWindowInsets foi modificado para uma função que retorna WindowInsets para permitir que seja resolvida na nova janela. (I39630, b/274872542, b/300280229, b/290893168).
  • PrimaryScrollableTabRow e SecondaryScrollableTabRow agora usam o layout personalizado em vez da subcomposição, o que melhora a performance. (I991e0).
  • Os links de texto receberam a opção de estilo de estado pressionado, além do estilo normal, passando o cursor e em foco. Cada método TextDefaults tem um argumento pressedStyle para isso. (Ic473f, b/139312671).

Correções de bugs

  • As âncoras de arrastar da gaveta de navegação agora correspondem à largura do drawerContent. (Ibc72f, b/245355396).
  • O padding superior do OutlinedTextField para o marcador agora considera o tamanho da fonte do sistema. (Idc781).
  • Foi corrigido o local do pacote de CalendarLocale. (Ifa235).
  • [Predictive Back] Atualizamos as animações de volta preditiva para usar a curva de interpolação de (0.1, 0.1, 0, 1) (I2591a).

Versão 1.3.0-alpha05

17 de abril de 2024

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

Novos recursos

  • SearchBar e DockedSearchBar têm novas sobrecargas que usam um parâmetro de campo de texto. Isso permite aplicar estilo ao campo de texto separadamente do restante da barra de pesquisa e transmitir campos de texto personalizados. O campo de texto da implementação atual foi disponibilizado como SearchBarDefaults.InputField. (I50c73, b/275074248, b/278773336, b/326627700).
  • O lambda drawTick foi adicionado à API pública para personalizar as marcações, se necessário (I0c048).

Mudanças na API

  • Links de texto receberam a opção de estilo de estado pressionado, além do estilo normal, passados e em foco (I5f864, b/139312671).
  • O CarouselItemInfo foi atualizado para expor um Rect de máscara em que o item está sendo recortado (I785d8).
  • Remoção de BasicTooltipState da API pública do Material 3. A funcionalidade dele é combinada com o TooltipState até que o BasicTooltip do Foundation esteja estabilizado. (Icda29).
  • Adição de um objeto TextDefaults que contém métodos para construir uma LinkAnnotation e analisar a string com tag HTML, que aplica MaterialTheme aos links (I98532, b/139312671).
  • ExposedDropdownMenuBoxScope não permite mais subclasses. Os menus suspensos expostos agora têm um MenuAnchorType, que precisa ser transmitido para menuAnchor para oferecer suporte à melhor acessibilidade. Isso precisa ser usado em vez de transmitir focusable para ExposedDropdownMenu, que foi descontinuado. menuAnchor tem um novo parâmetro para controlar o estado enabled. (I55ee6, b/257209915, b/308840226).
  • Correção da cor da borda de OutlinedButton quando desativada. Foi adicionada a sobrecarga ButtonDefaults.outlinedButtonBorder("enabled") que ocupa o estado ativado. (Ie650b, b/318461363).
  • Adicionamos uma nova classe CarouselItemInfo para ajudar os clientes a receber informações sobre os tamanhos dos itens. (I9070c).
  • O construtor ColorScheme sem contêineres de superfície foi descontinuado. Migre para o construtor que inclui contêineres de superfície. (I35c11).
  • [Contornado]TextFieldDefaults ContainerBox foi renomeado como Container. (Ie8d3b).

Correções de bugs

  • BottomSheetScaffold não rolará mais a partir da rolagem aninhada se sheetSwipeEnabled for falso (I5e1c1, b/306464779).
  • Removemos algumas anotações de ativação ExperimentalMaterial3Api em IconButtonSamples.kt. (I111d1).

Versão 1.3.0-alpha04

3 de abril de 2024

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

Novos recursos

  • Adicionamos duas versões experimentais do carrossel do Material 3, HorizontalMultiBrowseCarousel e HorizontalUncontainedCarousel (I88d64).
  • A gaveta de navegação do Compose M3 (ModalDrawerSheet e DismissibleDrawerSheet) foi atualizada para oferecer suporte à volta preditiva no U+ como ativação (Ie5b0b).
  • Adição de uma nova API em Icon para permitir a transmissão de tonalidades de cores como lambda e evitar a recomposição (I5b5a2).
  • As principais APIs da barra de apps agora oferecem suporte a alturas personalizadas para seções fixas e recolhíveis. (Ib8b0c, b/323403446).

Mudanças na API

  • As principais APIs da barra de apps agora oferecem suporte a alturas personalizadas para seções fixas e recolhíveis. Correção de um problema que fazia com que as barras de apps de uma única linha fossem recompostas muitas vezes ao rolar o conteúdo. Resolvemos um problema em que MediumTopAppBar truncava títulos em dispositivos com configurações grandes de fonte/exibição. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676).
  • O SegmentedButton e as APIs associadas agora estão estáveis (I8a158).
  • SwipeToDismissBox, SwipeToDismissBoxDefaults, SwipeToDismissBoxState e SwipeToDismissBoxValue agora estão marcados como estáveis. (I5f000).
  • As APIs e os tipos enumerados DismissDirection e DismissValue descontinuados foram removidos (I89ccd).
  • Adicionamos uma tag experimental ao objeto complementar CarouselState do Carrossel. (I94154).
  • Descontinuação do uso de LocalMinimumInteractiveComponentEnforcement e introdução de LocalMinimumInteractiveComponentSize para substituí-lo. (I7a7ac).
  • O construtor SearchBarColors agora é público. (I769ca).
  • Adicionamos um parâmetro gesturesEnabled a SwipeToDismissBox. (Idc59f, b/324170119).
  • Remoção das APIs de campo de texto marcadas como descontinuadas e experimentais. (I1305f).

Versão 1.3.0-alpha03

20 de março de 2024

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

Mudanças visuais interruptivas

  • Atualize a sobreposição do estado de foco para 0,1f a fim de garantir um contraste de cor suficiente. (I7ea77).
  • Pequenos ajustes nos padrões de cor da superfície e do plano de fundo em lightColorScheme e darkColorScheme. (I9db52).

Novos recursos

  • Foram adicionados parâmetros para personalizar ExposedDropdownMenu. Mais especificamente, os menus agora têm um parâmetro focusable (true padrão) que precisa ser definido como false ao trabalhar com campos de texto editáveis. (I4184c, b/323694447, b/278609042).

Mudanças na API

  • A sinalização ScaffoldSubcomposeInMeasureFix foi removida. (Ie2a4b).
  • Agora, NavigationRailItemColors está marcado como @Immutable (If6112, b/327660613).
  • Agora, NavigationBarItemColors está marcado como @Immutable (I42a30, b/298064514).
  • Reordenação de parâmetros no elemento combinável da faixa do controle deslizante. (I9f315).
  • ExposedDropdownMenu agora é implementado usando Popup. O comportamento deve ser o mesmo, mas os menus focalizáveis com campos de texto editáveis podem ser dispensados ao digitar no teclado.

Correções de bugs

  • Os papéis de referência dos contêineres Surface e Surface foram ajustados, oferecendo mais tonalidades em temas claros e escuros. (I677a5).
  • As cores do controle deslizante e de ProgressIndicator foram atualizadas para seguir as novas especificações de contraste sem texto (I26807).
  • Atualize a sobreposição do estado de foco para 0,1f a fim de garantir um contraste de cor suficiente. (I7ea77).
  • Pequenos ajustes nos padrões de cor da superfície e do plano de fundo em lightColorScheme e darkColorScheme. (I9db52).

Versão 1.3.0-alpha02

6 de março de 2024

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

Mudanças na API

  • Tornar os estados do controle deslizante estáveis novamente. Transformando State.onValueChangeFinished em um valor válido novamente. Unindo onValueChangeFinished em um rememberUpdatedState. (I82ab2, b/322269951).
  • Os componentes de navegação agora usam os novos papéis SurfaceContainer. DrawerDefaults agora fornece atributos standardContainerColor e modalContainerColor distintos. DrawerDefaults.ModalDrawerElevation agora é 0.dp. (I7fbac).
  • Remoção de @Stable dos estados de Slider, já que estamos mudando state.onValueChangeFinished para var. (Ied34a, b/322269951).
  • A especificação de animação ModalBottomSheet e StandardBottomSheet agora é um TweenSpec, atualizada de uma animação de mola. Isso resolve um problema com uma ultrapassagem visível. Os construtores SheetState descontinuados sem densidade foram removidos (I7babc, b/285847707).

Correções de bugs

  • As variantes SurfaceContainer agora são usadas por componentes. Os componentes que calculavam formalmente a cor com Surface e TonalElevation agora usam funções SurfaceContainer por padrão, que não são afetados pela elevação tonal. (b/304584161).
  • Correção do bug que fazia com que a cor do contêiner desativado e não selecionado de ElevatedFilterChip ficasse preta. (I400e6, b/322407043).
  • Correção do indicador de progresso indeterminado quando o progresso é 0 (Id6582).
  • Foi corrigido um problema com Slider e RangeSlider no layout RTL (Iab0e1).
  • Adição de SliderRangeTolerance ao cálculo do intervalo do controle deslizante, já que o arredondamento flutuante pode ser impreciso. (Ic918a, b/324934900).
  • Confira se a DatePickerDialog mostra os botões ao aninhar uma DateRangePicker ou ao mostrar qualquer tipo de seletor de data em telas pequenas com fontes maiores. (Ie4758, b/325107799, b/277768544).
  • Menu agora aproveita o papel SurfaceContainer para a cor do contêiner. MenuDefaults.TonalElevation agora é 0.dp. (I135b7).
  • TextField agora aproveita o papel SurfaceContainerHighest para a cor do contêiner. (I4dced).
  • Os ícones elevados agora usam o papel SurfaceContainerLow (I7cd2f).
  • A cor do contêiner DatePicker agora é SurfaceContainerHigh. DatePickerDefaults.TonalElevation agora é 0.dp. (Ida753).
  • Atualiza a cor do contêiner das páginas inferiores e a cor da alça de arrastar. (I72a0a).
  • A cor do contêiner RichTooltip agora é SurfaceContainer. (Ia8b45).
  • A cor do contêiner SearchBar agora é SurfaceContainerHighest. SearchBarDefaults.TonalElevation agora é 0.dp. (I88604).
  • A chave de atualizações está desativada e não foi selecionada e as faixas/ícones foram desmarcados para usar o papel de cor SurfaceContainerHighest. (I7687a).
  • A cor do contêiner AlertDialog agora é SurfaceContainerHigh. (Ie0433).
  • A cor do contêiner BottomAppBar agora é SurfaceContainer. A cor TopAppBar onScroll agora é SurfaceContainer. (I41630).
  • A cor do contêiner ElevatedCard agora é SurfaceContainerLow. Cor do contêiner de FilledCard (SurfaceContainerHighest). (I35141).
  • A cor do contêiner ElevatedButton agora é SurfaceContainerLow. Quando essa opção não está selecionada, FilledIconButton agora tem uma cor de contêiner de SurfaceContainerHighest. (I792c9).
  • Atualiza a cor do contêiner TimePicker e a função da cor do mostrador do relógio para SurfaceContainerHighest. (I43b93).

Versão 1.3.0-alpha01

21 de fevereiro de 2024

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

Novos recursos

  • Atualização do ModalBottomSheet do Compose M3 para oferecer suporte à volta preditiva no U+ (Iccf32, b/281967264, b/304850357).
  • A SearchBar do Compose M3 foi atualizada para oferecer suporte à volta preditiva no U+ (I657f8).
  • O controle deslizante foi atualizado para melhorar a acessibilidade adicionando um indicador de lacuna e parada. (I3058e).
  • O ProgressIndicator foi atualizado para melhorar a acessibilidade adicionando um indicador de lacuna e parada. (I21451).
  • Adicionando um cursor padrão para a dica detalhada, a nova API de dica avançada agora permite que o cursor personalizado seja desenhado com a âncora LayoutCoordinates. (Ifd42c).

Mudanças de comportamento

  • Os componentes do Material Design foram migrados para usar as novas APIs de ondulação e não consultam mais RippleTheme.

Mudanças na API

  • A diversão drawStopIndicator agora é pública. (I3f59f).
  • A função formatWithSkeleton do DatePicker foi marcada como interna (Ic65dc).
  • DropdownMenu agora oferece suporte a cores, formas, elevação e bordas personalizadas. (I8e981, b/289554448, b/301887035, b/283654243).
  • Os componentes do Material3 que expõem um MutableInteractionSource na API foram atualizados para expor um MutableInteractionSource anulável com null por padrão. Não há mudanças semânticas aqui: transmitir um valor nulo significa que você não quer elevar a MutableInteractionSource, que vai ser criada dentro do componente, se necessário. Mudar para nulo permite que alguns componentes nunca aloquem uma MutableInteractionSource e que outros componentes só criem lentamente uma instância quando necessário, o que melhora o desempenho desses componentes. Se você não estiver usando o MutableInteractionSource transmitido a esses componentes, é recomendável transmitir o valor nulo. Também é recomendável fazer mudanças semelhantes nos seus próprios componentes. (I41abb, b/298048146).
  • Adiciona RippleConfiguration e LocalRippleConfiguration para permitir a personalização de ondulações por componente / subárvore usando valores fixos. Por exemplo, para mudar a cor de um componente que você não controla ou para desativar a ondulação de um componente. Na maioria dos casos, os valores padrão precisam ser usados: essas APIs são uma alternativa para a personalização de componentes individuais / subárvores limitadas. Para mudanças mais amplas e sistemas de design personalizados, crie sua própria ondulação usando createRippleModifierNode. (I7b5d6, b/298048146).
  • Adicionada a nova API ripple no Material3, que substitui a rememberRipple obsoleta Também adiciona um CompositionLocal temporário, LocalUseFallbackRippleImplementation, para reverter componentes do Material3 para o uso das APIs rememberRipple / RippleTheme descontinuadas Ela será removida na próxima versão estável e serve apenas como auxílio de migração temporária para casos em que você fornece um RippleTheme personalizado. (I34cbc, b/298048146).

Correções de bugs

  • A subcomposição dentro de ModalBottomSheet foi removida para melhorar o desempenho Correção de um problema em que o ModalBottomSheet podia falhar em cenários específicos em combinação com o LookaheadScope (I2a198).
  • A subcomposição dentro de BottomSheetScaffold foi removida para melhorar o desempenho Correção de um problema em que o BottomSheetScaffold falhava em cenários específicos em combinação com o LookaheadScope (Ie6401).
  • O alinhamento do selo é ajustado para se aproximar do centro do conteúdo âncora em relação ao canto superior direito. (I18a28).
  • Foi corrigido um problema de acessibilidade com a DateRangePicker, em que o título de texto de mês e ano era transmitido como acionável para os usuários do leitor de tela, do acesso com interruptor e do Voice Access. (I2ac55).
  • Correção do bug na ordem do parâmetro mediumTopAppBarColors (Ibe64a).

Versão 1.2

Versão 1.2.1

6 de março de 2024

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

Correções de bugs

  • Deixar os estados do controle deslizante estáveis novamente. Transformando State.onValueChangeFinished em um valor válido novamente. Unindo onValueChangeFinished em um rememberUpdatedState. (Ie8fd0, b/322269951).
  • Remoção de @Stable dos estados de Slider, já que estamos mudando state.onValueChangeFinished para var. (I82ba1, b/322269951).
  • As cores personalizadas de NavigationBar foram corrigidas para copiar dos padrões. (80a779, b/326894020).
  • Correção da regressão em ExposedDropdownMenu para torná-lo focalizável novamente (3fcec1, b/323694447).
  • Correção do problema de armazenamento em cache de cor do botão (3e5bbcb/327371655).

Versão 1.2.0

7 de fevereiro de 2024

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

Problema conhecido

  • Um bug de renderização de interoperabilidade do View-Compose foi introduzido no PrimaryTabRow como parte de uma mudança de melhoria de desempenho. A solução alternativa é usar TabRow com TabRowDefaults.PrimaryIndicator.

Mudanças importantes desde a 1.1.0

Componentes do novo Material Design 3

Melhorias nos componentes atuais do Material Design 3.

As APIs experimentais foram promovidas para a versão estável.

Melhorias no desempenho

Versão 1.2.0-rc01

24 de janeiro de 2024

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

Correções de bugs

  • Correção do bug na ordem do parâmetro mediumTopAppBarColors (Ibe64a).
  • Foi corrigido um bug introduzido em 1.2.0-beta02 em CardDefaults.cardColors que não atualizava contentColor com base no valor do parâmetro containerColor. (Iee041, b/319671246).
  • Foi corrigido um bug em disabledContentColor introduzido em 1.2.0-beta02 e adicionada uma pequena otimização (I6dda1, b/318428829).

Versão 1.2.0-beta02

10 de janeiro de 2024

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

Bug conhecido

  • Por padrão, um bug no IconButtonColors atribui disabledContentColor a um Alfa (0.38f) de LocalContentColor em vez do contentColor especificado pelo usuário. A solução alternativa é definir explicitamente o disabledContentColor. Isso será corrigido na próxima versão.

Mudanças na API

  • Foi adicionada a capacidade de ativar acentos circunflexos de dicas para APIs Tooltip Plain. (Ibf767).
  • SwipeToDismissState, rememberSwipeToDismiss e SwipeToDismissValue foram renomeados para terem _SwipeToDismissBox_. (I68d6d).

Correções de bugs

  • O valor do padding final de ListItem foi corrigido para se alinhar à especificação (Ibd68b, b/305342674).
  • A cor do contorno do cartão contornado agora é mapeada corretamente para OutlineVariant. (I75480, b/310979715).
  • As cores dinâmicas agora extraem-se das funções de cor definidas pelo sistema. Isso melhora o contraste do conteúdo acessível e alinha melhor as cores dinâmicas às especificações do Material Design (I1de96).
  • O processamento de retorno de ModalBottomSheet foi corrigido no Android T/13 e versões mais recentes quando android:enableOnBackInvokedCallback="true" (I728dc, b/306196110).

Versão 1.2.0-beta01

13 de dezembro de 2023

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

Mudanças na API

  • TabIndicatorScope foi marcado como experimental (I45c88).
  • Remoção das APIs experimentais descontinuadas para dica (I438cb).
  • Mude as novas sobrecargas de TabRow para não usar subcomposições Isso resulta de uma maneira diferente de criar os indicadores TabRow com modificadores personalizados fornecidos. (Ife741).
  • Suspensão do uso das APIs DismissDirection e DismissValue. Eles foram mesclados em SwipeToDismissValue, com valores que indicam a posição e a direção de SwipeToDismissBox. DismissState.progress agora está marcado como FloatRange entre 0.0 e 1.0. O recurso de desconto e construtor DismissState descontinuados foi removido. O componente SwipeToDismiss, o estado e o objeto padrão foram marcados como experimentais. (Ib54f2).

Correções de bugs

  • O indicador padrão de PullToRefresh agora é uma ponta de seta aberta, em vez de um triângulo sólido. (I67be3).

Versão 1.2.0-alpha12

29 de novembro de 2023

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

Mudanças na API

  • RangeSlider agora usa um intervalo do Kotlin (por exemplo, 0f..1f) em vez de uma classe de valor FloatRange personalizada. SnapFlingBehavior.kt agora também usa um intervalo Kotlin. (I025cb).
  • As funções de fábrica do modificador foram marcadas como @Stable. (Ib109f).

Versão 1.2.0-alpha11

15 de novembro de 2023

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

Novos recursos

  • Implementa PullToRefreshContainer e PullToRefreshState, que juntos fornecem um pull para atualizar a implementação no Material3. (I16456, b/261760718).

Mudanças na API

  • As SwipeToDismissBox DismissDirection e DismissValue foram marcadas como experimentais. (I517b0).
  • O SwipeToDismiss foi renomeado como SwipeToDismissBox Renomeie background como backgroundContent e dismissContent como lambda content final. (I7f4d3).
  • O construtor para ChipElevation e SelectableChipElevation agora é público. (Ie0c48, b/308432421).
  • Adicionando ModalBottomSheetProperties. Movendo securePolicy para ModalBottomSheetProperties. Adicionando isFocusable e shouldDismissOnBackPress a ModalBottomSheetProperties. Esses novos booleanos ajudam a determinar como a página inferior modal deve processar os eventos do IME. (Iea56f, b/278216859).
  • Atualizamos os estados RangeSlider e Slider para remover initialOnValueChange, os prefixos iniciais e os kdocs apropriados. (I57d30).
  • Suspensão do uso da classe ChipBorder e das chamadas de função associadas a ela. Recomendamos o uso direto de BorderStroke. (I89cc2).
  • As APIs de dica de fundação agora são @ExperimentalFoundationApi. (I30b0b).
  • TabRow e ScrollableTabRow não estão mais descontinuados. As novas variantes primárias e secundárias são marcadas como experimentais. (I0def6).
  • Os ícones de filtro e entrada agora usam BorderStroke diretamente. (I07a8d).
  • SegmentedButton agora usa BorderStroke diretamente. (I89b9b).
  • A função genérica AlertDialog foi renomeada como BasicAlertDialog e descontinuada a função anterior. (Idbe52).
  • Renomeie as APIs SwipeToDismiss como SwipeDismiss e promova as novas APIs SwipeDismiss para a versão estável. (I14cbe).
  • Adição de tonalElevation e shadowElevation às APIs de dicas Além disso, as APIs TooltipBox, PlainTooltip e RichTooltip foram movidas de volta para a fase experimental, já que foram lançadas acidentalmente como estáveis (If0f66, b/293939035).
  • Promover APIs de chip experimentais para a estabilidade. (Iea2c3).
  • A anotação @ExperimentalMaterial3Api foi removida dos cards clicáveis do Material3. (I88dbf).

Correções de bugs

  • Correção de um problema em que SwipeToDismiss falhava em determinados cenários com layouts lentos e Lookahead aninhados (Ica8d1, b/297226562).

Versão 1.2.0-alpha10

18 de outubro de 2023

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

Mudanças na API

  • Promovendo Badge e BadgedBox para a versão estável. (I67f16, b/261565132).
  • Adição de securePolicy como um parâmetro a ModalBottomSheet para que os usuários possam definir o comportamento de WindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262).
  • Foram adicionadas novas sobrecargas de LinearProgressIndicator e CircularProgressIndicator que usam progress como uma lambda. Essas versões devem ter um desempenho melhor do que as versões anteriores. (I824e6, b/295616656).
  • StandardSizeClasses é renomeado como AllSizeClasses. (I8cb07).
  • Combinar funções de cálculo de classes de tamanho de janela. (Iad935).

Correções de bugs

  • Foi corrigida uma falha de DatePicker ao clicar rapidamente nos botões de seta de navegação quando o mês exibido estava no limite do intervalo de anos permitido. (I46f36, b/290954897, b/297002119).
  • [Coluna/barra de navegação] Suporte a cores transparentes para o indicador. (Ie0a9b, b/267289987).

Versão 1.2.0-alpha09

4 de outubro de 2023

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

Mudanças na API

  • ModalNavigationDrawer e DismissibleNavigationDrawer foram migrados para usar as novas APIs AnchoredDraggable. O animateTo do DrawerState foi substituído pelos métodos de abertura e fechamento, e o deslocamento agora está exposto como um ponto flutuante em vez de um objeto de estado. É possível acessar o deslocamento diretamente por meio de currentOffset. (I0a72c).
  • Funções não combináveis foram adicionadas para criar DatePickerState e DateRangePickerState diretamente Essas funções podem ser usadas como uma alternativa às funções combináveis rememberDatePickerState e rememberDateRangePickerState quando necessário. (I70326, b/291524052).
  • As TabRows fixas e roláveis agora têm variantes primárias e secundárias Eles são mapeados corretamente para a cor e o comportamento do indicador, conforme definido no Material3.
  • PrimaryScrollableTabRow e SecondaryScrollableTabRow agora expõem o estado de rolagem. (Iec8f5, b/260572337).
  • Adicionamos um novo parâmetro sheetMaxWidth, que os desenvolvedores podem definir para especificar uma largura máxima que a página vai abranger. Dp.Não especificado pode ser transmitido para o parâmetro se você quiser uma planilha que abrange toda a largura da tela. (Ifb7c9, b/266697696).
  • Adição das APIs PlainTooltipBox e RichTooltipBox como métodos descontinuados (I246fa).

Correções de bugs

  • Foi corrigida uma falha que ocorre quando o DatePicker é inicializado com uma DatePickerFormatter que tem determinadas estruturas de data que permanecem as mesmas quando convertidas em padrões de data (como AA). (I01f29).

Versão 1.2.0-alpha08

20 de setembro de 2023

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

Mudança interruptiva de comportamento

  • ColorScheme agora é imutável, o que torna as atualizações de cores individuais menos eficientes, mas torna o uso mais comum de cores mais eficiente. O motivo dessa mudança é que a maioria dos apps não teria a atualização de cores individuais como um caso de uso principal. Isso ainda é possível, mas vai ser recomposto mais do que antes. Por sua vez, reduzimos significativamente a quantidade de assinaturas de estado em todo o código do Material Design e isso vai afetar o custo de inicialização e execução de mais casos de uso padrão. (Ic447d, b/297212873).
  • A elevação tonal não é mais animada em diferentes estados de interação para corresponder à especificação (Icdd12).

Mudanças na API

  • Foi adicionado um novo BottomAppBar, que usa como parâmetro uma BottomAppBarScrollBehavior para ficar oculta automaticamente quando o conteúdo é rolado A FabPosition.EndOverlay também foi adicionada, permitindo que o FAB se sobreponha à barra de apps inferior no scaffold em vez de ficar ancorado acima dela (Iecb47).
  • Foi adicionado um componente de rótulo simples, baseado em BasicTooltipBox, que não é dispensado ao tocar fora dos limites do rótulo. (I821f9).

Correções de bugs

  • Remoção do uso de rememberSaveable para dicas. (Icc131, b/299500338).
  • Uma flag temporária foi introduzida para controlar se o Scaffold deve medir os filhos durante a medição ou na posição. Por padrão, isso será medido em medições. Se você estiver enfrentando problemas com o novo comportamento, registre um problema. (I0b354).
  • Corrigimos a medida horizontal de borda a borda em BottomSheet usando a medida correta para a largura da tela do dispositivo. (I1df0c, b/299058752).
  • Correção de um bug em que ModalBottomSheet não chamava onDismissedRequest ao deslizá-lo para baixo na página (Idfdd8).

Versão 1.2.0-alpha07

6 de setembro de 2023

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

Novos recursos

  • O suporte a ícones de espelhamento automático foi adicionado em compose material 1.6.0-alpha05. Consulte as notas da versão para mais detalhes sobre os ícones de espelhamento automático.

Mudanças na API

  • SliderState implementa o DraggableState (I9b116).
  • Alterar a forma para ser um parâmetro obrigatório. Renomeie position como index na função auxiliar de formas. (I34941).
  • Atualiza o formatWithSkeleton do DatePicker para incluir um mapa usado como cache para melhorias de desempenho. (I3195f).
  • Adição de BasicTooltipBox a compose.foundation e atualização de PlainTooltipBox e RichTooltipBox para usar TooltipBox com novos elementos combináveis PlainTooltip e RichTooltip. (I79e1d).

Correções de bugs

  • dynamicLightColorScheme e dynamicDarkColorScheme agora retornam cores de chroma maiores para as funções de superfície e surfaceContainer. (I5e901).
  • Correção de um problema em que alguns componentes que usavam subcomposição (por exemplo, BottomSheetScaffold) dentro de um Scaffold em um LookaheadScope estavam tentando ler o tamanho muito cedo (I297b4, I871f1, b/295536718).

Versão 1.2.0-alpha06

23 de agosto de 2023

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

Correções de bugs

  • O cálculo de offset de DropdownMenu foi corrigido para que os deslocamentos x dependam apenas da direção do layout local, e os deslocamentos y não sejam mais invertidos quando o menu estiver perto da parte de baixo da tela (I acesso74, b/294103942).
  • O cálculo de offset de DropdownMenu foi corrigido para que os deslocamentos x dependam apenas da direção do layout local, e os deslocamentos y não sejam mais invertidos quando o menu estiver perto da parte de baixo da tela (Ib87a2, b/294103942).

Versão 1.2.0-alpha05

9 de agosto de 2023

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

Mudanças na API

  • Atualizações na caixa de seleção e nas cores de TriStateCheckbox. O CheckboxDefaults.colors() disabledUncheckedColor agora afeta apenas a borda da caixa de seleção. Os casos especiais que exigem que você defina a cor interna da caixa quando ela está desativada e desmarcada exigem uma instância personalizada de um CheckboxColors com os valores de cor desejados. (I77d17, b/291943198).

Versão 1.2.0-alpha04

26 de julho de 2023

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

Novos recursos

  • API Experimental SegmentedButton (Ifc8fb).
  • Os divisores agora têm um parâmetro para controlar a orientação e oferecer suporte aos divisores verticais. (I4c899, b/288438593).

Mudanças na API

  • Estamos movendo a dependência de densidade para o nível do componente. Isso se aplica aos seguintes componentes: SwipeToDismiss e Planilhas. Use a nova sobrecarga fornecida em que a densidade é um parâmetro. (I1846e).
  • Outras anotações para especificar entradas permitidas para elementos combináveis (Ief234).
  • Foi adicionado um parâmetro de ícone ao botão segmentado, a semântica de divisão para que os botões segmentados possam ser selecionáveis para implementar a seleção única e alternáveis para implementar a seleção múltipla, com SelectableSegmentedButtonRow e ToggelableSegmentedButtonRow, respectivamente. (I38740).
  • O divisor foi renomeado para HorizontalDivider. A funcionalidade VerticalDivider foi adicionada. (I5975c).
  • O uso de ClosedFloatingPointRange foi mudado para o FloatRange mais leve nas APIs experimentais do Material3 para minimizar o autoboxing. (I4aab5).
  • Foi adicionado um novo alinhamento Start para FabPosition (Ib7aea, b/170592777).

Correções de bugs

Versão 1.2.0-alpha03

21 de junho de 2023

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

Mudanças de comportamento

  • includeFontPadding agora é false por padrão na tipografia do Material 3. O estilo de altura padrão da linha também foi modificado para Trim.None e Alignment.Center, e lineHeight explícito (em sp) foi adicionado aos TextStyles de Typography. Se quiser personalizar esses valores, consulte a documentação da API. Para acessar uma explicação detalhada sobre essas mudanças, confira a postagem do blog. (I6266f, Icabc3).

Novos recursos

  • Foi adicionada uma sobrecarga para RangeSlider, que é uma versão com estado do componente. Criação de um RangeSliderState que contém todas as informações da faixa ativa atual, as medidas dos componentes do RangeSlider e a lógica de arrastar e gestos. (I8c270).
  • A barra de pesquisa agora oferece suporte a sombras usando o parâmetro shadowElevation recém-adicionado. (Ia5369, b/271040353).
  • ColorScheme agora oferece suporte aos novos papéis SurfaceContainer.
  • A sobreposição de elevação tonal da superfície agora pode ser desativada com o local de composição LocalTonalElevationEnabled (Ic203c, b/277774590).

Mudanças na API

  • Abra os construtores de cores dos componentes. (I8c4a6).
  • Foi adicionado um parâmetro focalizável às duas APIs de dica para que os desenvolvedores possam fazer com que a dica consuma eventos de toque ou não Tenha cuidado, porque isso pode interromper a travessia automática do foco de acessibilidade. (Ie32d8).
  • Acessibilidade otimizada para alocações de desempenho e memória. (Iede48).
  • DefaultSizeClasses foi exposto e criado StandardSizeClasses para WindowSizeClasses (I91838).
  • Mudança de WindowWidth/HeightSizeClass para classes de valores flutuantes (Ie686e).

Correções de bugs

  • O parâmetro contentWindowInsets do Scaffold agora respeita os encartes de janela consumidos. O comportamento do padding do conteúdo com base em topBar e bottomBar não muda quando esses parâmetros são fornecidos. (I08b73, b/264601542).
  • O alinhamento da barra de apps superior central para garantir que um título longo não seja renderizado sobre os ícones de ação ou o ícone de navegação (I4369f, b/236994621).
  • As posições de guia agora aplicam uma largura mínima de conteúdo de 24 dp. Isso fornece uma área de toque acessível para indicadores de guias. (Id8861).
  • As paletas de cores dinâmicas de dynamicLightColorScheme e dynamicDarkColorScheme agora oferecem suporte a novos papéis de superfície. (I1252e).
  • Atualização do alinhamento de notificações de selo para evitar cortes em colisão com bisavós. (Idf75a).

Versão 1.2.0-alpha02

24 de maio de 2023

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

Mudanças na API

  • O parâmetro de encartes de janela foi adicionado ao ModalBottomSheet.
    • O scrim para ModalBottomSheet agora pode ser mostrado atrás da barra de status com windowInsets definido como zero
    • A funcionalidade padrão do ModalBottomSheet foi atualizada para ficar fora das barras de sistema, incluindo a navegação.
    • A manipulação do encarte da barra de status é fornecida pela alça de arrastar no modo de ponta a ponta.
    • BottomSheetDefaults inclui encartes de janela para BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/3624, b/26241624)
  • Descontinuação do uso de Indicator e adição de Primary/SecondaryIndicator para corresponder às especificações do M3. PrimaryIndicator corresponde à largura do conteúdo da guia, enquanto SecondaryIndicator abrange a largura total disponível. SecondaryIndicator é equivalente ao Indicator descontinuado e pode ser uma substituição direta. (I27604).
  • Foi adicionada uma opção para transmitir um ScrollState ao construir um DropdownMenu ou um ExposedDropdownMenu para controlar o estado de rolagem vertical dos itens de menu exibidos. (Ia0734, b/185304441).
  • Foi adicionada uma sobrecarga para Slider, que é uma versão com estado do componente. Criação de um SliderState que contém todas as informações da faixa ativa atual, as medidas dos componentes do Slider e a lógica de arrastar e gestos. (I124a5).
  • Mudança da propriedade semântica isContainer para isTraversalGroup (I121f6).
  • Adição de TextStyle.merge(...) otimizado com lista completa de parâmetros. (Iad234, b/246961787).
  • Criação de interfaces públicas TooltipState, RichTooltipState e PlainTooltipState. RichTooltipStateImpl e PlainTooltipStateImpl foram adicionados para os estados padrão. Foram adicionadas funções remember*State para receber esses estados implementados. Remoção de TooltipSync em favor de um TooltipDefault.GlobalMutatorMutex (I7813d).
  • O DatePickerColors foi atualizado para incluir mais opções de personalização para as cores do divisor do seletor de data, da navegação e dos campos de entrada de texto. (I1a685, b/274626815).
  • DatePickerState e DateRangePickerState agora são interfaces públicas com implementações padrão que podem ser recuperadas por rememberDatePickerState e rememberDateRangePickerState. (I71c52).
  • Remoção de dateValidator de DatePicker e DateRangePicker e introdução de uma interface SelectableDates, que pode ser definida no estado para controlar quais datas ou anos são selecionáveis na interface. (Ic2fc6).
  • O TimePicker foi removido da API estável. Outras mudanças são esperadas na API de estado (I3f39a).
  • O app ModalBottomSheet foi movido apenas para o Android. O ModalBottomSheet não é recomendado para computadores, e a funcionalidade não é mantida ativamente. (Ib3778).

Correções de bugs

  • Foi corrigida a ação de dispensar AlertDialog para que ela apareça abaixo da ação de confirmação quando as ações empilhadas para caber na largura da caixa de diálogo. Essa correção alinha a implementação com a especificação do Material Design (I029de, b/235454277).
  • Correção do bug em ListItem usando padding incorreto para itens de três linhas. (I6e235).
  • ModalBottomSheet agora pode exibir o teclado do IME (Idc508, b/262140644, b/268380384, b/272483584).

Versão 1.2.0-alpha01

10 de maio de 2023

Lançamento de androidx.compose.material3:material3:1.2.0-alpha01 e androidx.compose.material3:material3-window-size-class:1.2.0-alpha01. A versão 1.2.0-alpha01 contém estas confirmações.

Versão 1.1

Versão 1.1.2

20 de setembro de 2023

Lançamento de androidx.compose.material3:material3:1.1.2 e androidx.compose.material3:material3-window-size-class:1.1.2. A versão 1.1.2 contém estas confirmações.

Correções de bugs

  • Correção da transmissão incorreta do modificador para dois elementos combináveis. (b/282761472).
  • O TimePickerState corrigido retorna horários incorretos quando inicializado com 23 horas. (b/278242122).
  • Corrigimos o estado de alternância inicial para validação ao meio-dia e aos minutos. (b/269768197, b/282790635).
  • Correção de state.hour retornando um valor incorreto para as 23h. (b/282761472, b/278242122).

Versão 1.1.1

21 de junho de 2023

Lançamento de androidx.compose.material3:material3:1.1.1 e androidx.compose.material3:material3-window-size-class:1.1.1. A versão 1.1.1 contém estas confirmações.

Correções de bugs

  • Adiciona uma chamada para ModalBottomSheet sem o parâmetro windowInset para compatibilidade binária (Ib7959).
  • O parâmetro de encartes de janela foi adicionado ao ModalBottomSheet.
    • O scrim para ModalBottomSheet agora pode ser mostrado atrás da barra de status com windowInsets definido como zero
    • A funcionalidade padrão do ModalBottomSheet foi atualizada para ficar fora das barras de sistema, incluindo a navegação.
    • A manipulação do encarte da barra de status é fornecida pela alça de arrastar no modo de ponta a ponta.
    • BottomSheetDefaults inclui encartes de janela para BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/3624, b/26241624)

Versão 1.1.0

10 de maio de 2023

Lançamento de androidx.compose.material3:material3:1.1.0 e androidx.compose.material3:material3-window-size-class:1.1.0. A versão 1.1.0 contém estas confirmações.

Principais recursos da versão 1.1.0

Novos componentes do Material Design 3

Melhorias nos componentes atuais do Material Design 3.

As APIs experimentais foram promovidas para a versão estável.

Veja mais detalhes nesta postagem do blog (em inglês).

Versão 1.1.0-rc01

19 de abril de 2023

Lançamento de androidx.compose.material3:material3:1.1.0-rc01 e androidx.compose.material3:material3-window-size-class:1.1.0-rc01. A versão 1.1.0-rc01 contém estas confirmações.

Mudanças na API

  • O TimePicker foi removido da API estável. Outras mudanças são esperadas na API de estado (I3f39a).
  • O app ModalBottomSheet foi movido apenas para o Android. O ModalBottomSheet não é recomendado para computadores, e a funcionalidade não é mantida ativamente. (Ib3778).

Versão 1.1.0-beta02

5 de abril de 2023

Lançamento de androidx.compose.material3:material3:1.1.0-beta02 e androidx.compose.material3:material3-window-size-class:1.1.0-beta02. A versão 1.1.0-beta02 contém estas confirmações.

Mudanças na API

  • SheetState agora tem o parâmetro skipHiddenState opcional
  • rememberStandardBottomSheetState agora tem o parâmetro skipHiddenState opcional
  • BottomSheetScaffold agora tem uma âncora oculta definida, embora esteja desativada por padrão
  • A documentação de SheetState.requireOffset foi atualizada
  • BottomSheetDefaults.MinimizedShape foi renomeado como BottomSheetDefaults.HiddenShape (I839f4, b/273870234).

Correções de bugs

  • Não alterne o mostrador de discagem de hora para minuto quando a exploração por toque estiver ativada. (I717d0).
  • A semântica das alças de arrastar ModalBottomSheet e BottomSheetScaffold agora foi mesclada. (I05afb).
  • Modificador BottomSheetScaffold, parâmetros containerColor e contentColor agora afetam apenas o conteúdo (I992cb).
  • A função BottomSheetScaffold nestedScroll para conteúdo de páginas agora implementa deslizes rapidamente. (I992cb).

Versão 1.1.0-beta01

22 de março de 2023

Lançamento de androidx.compose.material3:material3:1.1.0-beta01 e androidx.compose.material3:material3-window-size-class:1.1.0-beta01. A versão 1.1.0-beta01 contém estas confirmações.

Mudanças na API

  • Foi adicionado um parâmetro de tipo de layout ao elemento combinável TimePicker. Ele permite usar layouts diferentes, dependendo da configuração da tela (Ia0e16).
  • SearchBarDefaults foi marcado como experimental. (I65561).
  • Adição de elevação de sombra para BottomSheetScaffold (I94e0f).
  • Agora é possível mostrar os seletores de data sem a parte do cabeçalho. Mudanças na API para permitir a transmissão de um título nulo ao criar um seletor de data. Agora você pode transmitir títulos, títulos e showToggleMode = false nulos para exibir um seletor headless. (Id3f3a, b/266132421, b/267194809).

Correções de bugs

  • As barras de pesquisa agora removem o foco automaticamente quando são desativadas. (I22a7c, b/261444487).
  • A DateRangePicker foi atualizada para permitir a seleção de um período com a mesma data de início e término. (I16529, b/272882497).
  • Os campos de texto agora posicionam corretamente os elementos de texto quando o tamanho da fonte é menor que o esperado. Isso pode resultar na mudança de alguns pixels nos seus apps com base nas configurações de fonte e no script. (I8b8d0).
  • As ações semânticas da página inferior agora têm rótulos. (I277b0).

Versão 1.1.0-alpha08

8 de março de 2023

Lançamento de androidx.compose.material3:material3:1.1.0-alpha08 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha08. A versão 1.1.0-alpha08 contém estas confirmações.

Novos recursos

  • Foi adicionado suporte a BottomSheetScaffold e BottomSheetScaffoldState. (I063d4).

Mudanças na API

  • Foi adicionada uma funcionalidade a DatePickerState e DateRangePickerState para permitir a definição de datas após a criação inicial do estado, bem como redefinir seleções definindo carimbos de data/hora nulos. Tenha cuidado ao definir datas manualmente. A nova função setSelection vai gerar uma exceção caso uma data fornecida falhe como uma pré-condição. (Ifa645, b/268609314, b/270427389).
  • O SheetValue recolhido foi renomeado como PartiallyExpanded para retratar o comportamento nesse estado com mais precisão e flexibilidade. (Ia1491).
  • Atualização dos nomes de parâmetros ListItem para _content em vez de _text. Getters padrão agora são ReadOnlyComposables, quando relevante (I69a25).
  • As APIs Surface interativas foram transformadas em experimentais. (I90d59, b/261561812).

Correções de bugs

  • Correção de um problema em que o estado HalfExpanded de ModalBottomSheet era calculado incorretamente e a página parecia estar flutuando (I45e84, b/268411386).
  • Adicionar verificação confirmValueChange ao toque scrim para ModalBottomSheet. (I2311a, b/270425759).
  • Mover ações semânticas BottomSheet para a alça de arrastar. (I158ba).
  • Agora, os comandos do ModalBottomSheet se concentram na inicialização e lidam com o botão "Voltar". (I4d2ab).
  • O ModalBottomSheet onDismissRequest agora também é processado durante a rolagem rápida aninhada. (I655c5, b/268433166).

Versão 1.1.0-alpha07

22 de fevereiro de 2023

Lançamento de androidx.compose.material3:material3:1.1.0-alpha07 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha07. A versão 1.1.0-alpha07 contém estas confirmações.

Novos recursos

  • Foi adicionado um elemento combinável de entrada de tempo que funciona com rememberTimePickerState(). Ele segue a especificação do M3 para entrada de tempo (Ia4fab).
  • Adição de uma API DateRangePicker do Material 3 para selecionar um intervalo de datas. (I7a6c3, b/267194809).
  • Foi adicionado suporte ao modo de entrada do Material 3 para selecionar períodos usando a API DateRangePicker. (Ifdbc4).
  • As cores dos campos de texto agora permitem a personalização:
    • As cores do campo de entrada e do texto do marcador de posição com base no foco e no estado de erro. O parâmetro textColor foi renomeado como unfocusedTextColor, e placeholderColor como unfocusedPlaceholderColor.
    • A cor do contêiner para campos de texto preenchidos com base no estado de erro com o novo parâmetro errorContainerColor.
  • As cores do campo de texto do menu suspenso exposto foram atualizadas com parâmetros para oferecer suporte à nova API de prefixo e sufixo. (I9c8b4, b/254284181, b/264766350).

Mudanças na API

  • Reversão de algumas versões da API Slider e remoção de sobrecargas redundantes do Slider cobertas pelo novo controle deslizante experimental com faixa e polegar personalizados. Promovendo RangeSlider para ser estável. (Ie8fbd).
  • defaultElevation foi renomeado como elevation nas funções de elevação do ícone (I0f872).
  • As seguintes APIs de campo de texto do Material 3 não são mais experimentais: TextField, OutlinedTextField, textFieldWithLabelPadding, textFieldWithoutLabelPadding, outlinedTextFieldPadding. (Ieb5c0, b/261561819).
  • O TimePickers is24Hour usa a configuração do sistema (I18856).
  • A anotação experimental foi removida das APIs de scaffold. (Ibb51e, b/261565765, b/261436953).

Correções de bugs

  • A forma padrão ModalBottomSheet agora é sempre SheetDefaults.ExpandedShape. (I0dfca).
  • Melhorias de acessibilidade para DatePicker e DateRangePicker do Material 3. (I5087e).
  • O bug em que a restrição de altura máxima é propagada e pode falhar foi corrigido. (I30d8c).
  • Remoção dos papéis semânticos de plataformas clicáveis e selecionáveis e atualização dos componentes que os usavam para definir papéis usando modifier.semantics (I793d9).

Versão 1.1.0-alpha06

8 de fevereiro de 2023

Lançamento de androidx.compose.material3:material3:1.1.0-alpha06 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha06. A versão 1.1.0-alpha06 contém estas confirmações.

Novos recursos

  • Os campos de texto agora oferecem suporte a sufixo e prefixo (Ia8578, b/179884561).
  • A função TimePicker foi adicionada para mostrar um seletor de horário, seguindo a especificação do Material 3. Essa função é usada junto com TimePickerState e o método de conveniência rememberTimePickerState (I71910).
  • A entrada de data aparece como modo de exibição no DatePicker. Agora é possível alternar entre o seletor de data e os modos de entrada de data (Ieeff7).
  • Adição da API para RichTextTooltips (I58ef3).
  • Implementação modal da página inferior do Material 3, incluindo ModalBottomSheet e ModalBottomSheetDefaults. Também introduzimos SheetState e rememberSheetState, que podem ser usados para futuros componentes de páginas (I0853a, b/244189383).

Mudanças na API

  • A API showSnackbar foi estabilizada (I195c2, b/261424370).
  • As APIs para chips de sugestão de resposta e de assistência foram estabilizadas (Ibb67b, b/261424370).
  • Promoção das APIs ListItem, ListItemDefaults e ListItemColors para não experimentais (I7e7fa, b/261438882).
  • Promoção de SliderPositions, SliderDefaults.Thumb e SliderDefaults.Track para a versão estável e adição das APIs Slider e RangeSlider não experimentais contendo faixas e círculos personalizados. Também descontinuamos as APIs Slider e RangeSlider anteriores (Ie5ea6, b/261566890).
  • O Modifier.tooltipAnchor() agora é público. Assim, os desenvolvedores podem transmitir esse elemento para a âncora para indicar que uma dica precisa ser mostrada ao tocar e manter pressionado. A API PlainTooltipBox foi atualizada para não tornar mais TooltipState anulável e agora tem um padrão (Ie2fb7).
  • ProgressIndicatorDefaults.circularTrackColor foi marcado como @Composable para manter a consistência (Id29cc).
  • O getter da propriedade LocalMinimuTouchTargetEnforcement foi restaurado, marcado como descontinuado e redirecionado para LocalMinimumInteractiveComponentEnforcement (I60dd5).

Versão 1.1.0-alpha05

26 de janeiro de 2023

Lançamento de androidx.compose.material3:material3:1.1.0-alpha05 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha05. A versão 1.1.0-alpha05 contém estas confirmações.

Novos recursos

  • DatePickerDialog e suporte à acessibilidade.
  • Faixa e círculo personalizados adicionados ao RangeSlider.

Atualizações de dependência

Versão 1.1.0-alpha04

11 de janeiro de 2023

Lançamento de androidx.compose.material3:material3:1.1.0-alpha04 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha04. A versão 1.1.0-alpha04 contém estas confirmações.

Novos recursos

  • API DatePicker inicial para escolher uma única data na interface da agenda. Essa API ainda está passando por mudanças (I722b9).
  • Foi adicionado suporte a dicas simples pela PlainTooltipBox (I0cdfb).
  • Barra de pesquisa (Iad128).
  • SwipeToDismiss (I458a8, b/242889540).

Mudanças na API

  • Adição da propriedade semântica IsContainer em plataformas. Essa propriedade vai ser usada em uma mudança posterior, que determina a ordem de travessia com base no significado semântico de elementos como plataformas (I63379).
  • As APIs relacionadas à gaveta de navegação foram marcadas como estáveis (Iab01e, b/261439597).
  • Adicionamos um parâmetro de cor de faixa para indicadores de progresso circulares e um parâmetro de limite de traço para indicadores de progresso circulares e lineares (Ie668c, b/216325962, b/222964817).
  • Mais nulidade do tipo de retorno das funções descontinuadas e ocultas (Ibf7b0).
  • Adição do Modifier.minimumInteractiveComponentSize. Ele pode ser usado para reservar pelo menos 48 dp de tamanho e evitar a ambiguidade das interações de toque caso o elemento seja menor (I33f58, b/258495559).
  • Foi adicionada uma API experimental para o elemento combinável AlertDialog que tem um slot de conteúdo (Iec4a2).

Correções de bugs

  • O andamento dos indicadores de progresso agora está vinculado corretamente ao intervalo esperado (I8a7eb, b/262262727).

Problema conhecido

  • Ao atualizar do androidx.compose.foundation:1.4.0-alpha03 para o androidx.compose.foundation:1.4.0-alpha04, talvez você receba um erro java.lang.NoSuchFieldError. O problema foi relatado originalmente aqui. Uma correção foi enviada e vai estar disponível na próxima atualização do Compose. Como solução alternativa, atualize suas bibliotecas androidx.compose.material e androidx.compose.material3 para a versão mais recente (1.1.0-alpha04) ou faça downgrade do androidx.compose.foundation para a versão 1.4.0-alpha03.

Versão 1.1.0-alpha03

7 de dezembro de 2022

Lançamento de androidx.compose.material3:material3:1.1.0-alpha03 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha03. A versão 1.1.0-alpha03 contém estas confirmações.

Mudanças na API

  • consumedWindowInsets() foi renomeado como consumeWindowInsets() e withConsumedWindowInsets() como onConsumedWindowInsetsChanged(). Além disso, os modificadores se tornaram públicos (Ie44e1).
  • Um novo padding padrão foi adicionado para uso em botões com texto e ícone (I8f662).
  • Cores desativadas foram adicionadas à barra de navegação e à coluna (Ia7892, b/258867034).
  • Adição de uma API Modifier para consultar informações de rolagem de ancestrais (I2ba9d, b/203141462).
  • Clickable foi usado para atrasar corretamente as interações de pressionamento quando gestos podem se tornar eventos de rolagem.
  • Os elementos Clickables foram corrigidos para passar a atrasar ondulações corretamente quando usados dentro de um Scrollable ViewGroup.
  • As gavetas e planilhas foram atualizadas para atrasar corretamente os pressionamentos, em casos em que gestos podem se tornar eventos de rolagem.

Atualizações de dependência

  • Compose UI e Compose Material agora dependem do Lifecycle 2.5.1 (I05ab0, b/258038814).

Versão 1.1.0-alpha02

9 de novembro de 2022

Lançamento de androidx.compose.material3:material3:1.1.0-alpha02 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha02. A versão 1.1.0-alpha02 contém estas confirmações.

Mudanças na API

  • awaitFirstDown e waitForUpOrCancellation agora aceitam um PointerEventPass para ter mais flexibilidade. Além disso, ExposedDropdownMenuBox, que mostrava um menu durante a rolagem, foi corrigido (I7579a, b/212091796).
  • O parâmetro minLines foi adicionado ao Text, TextField e OutlinedTextField do Material e Material 3, o que permite definir a altura mínima do componente em termos de número de linhas (I4af1d).
  • A função TopAppBarDefaults smallTopAppBarColors foi descontinuada e substituída por uma nova função topAppBarColors que precisa ser usada ao criar uma TopAppBar (Ie6cb9).
  • Foi adicionado o parâmetro minLines a BasicText e BasicTextField. Ele permite definir a altura mínima desses elementos combináveis em termos de número de linhas (I24294, b/122476634).

Correções de bugs

  • O conteúdo de IconButton e IconToggleBotton do Material 3 agora é cortado na forma da camada de estado do componente. Por exemplo, em forma circular (I9da8f).
  • As barras de apps de médio e grande porte do Material 3 foram atualizadas para aplicar a mesma cor de plano de fundo em toda a superfície, além de permitir que a configuração substitua as cores padrão por valores de cor transparentes (I67659, b/249688556, b/250838918).

Versão 1.1.0-alpha01

24 de outubro de 2022

Lançamento de androidx.compose.material3:material3:1.1.0-alpha01 e androidx.compose.material3:material3-window-size-class:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Correções de bugs

  • Foi corrigida a barra de apps de cima quando o título é aplicado com um TextStyle e um Brush (If667e).

Versão 1.0

Versão 1.0.1

9 de novembro de 2022

Lançamento de androidx.compose.material3:material3:1.0.1 e androidx.compose.material3:material3-window-size-class:1.0.1. A versão 1.0.1 contém estas confirmações.

Correções de bugs

  • As barras de apps de médio e grande porte do Material 3 foram atualizadas para aplicar a mesma cor de plano de fundo em toda a superfície, além de permitir que a configuração substitua as cores padrão por valores de cor transparentes (I67659, b/249688556, b/250838918).

Versão 1.0.0

24 de outubro de 2022

Lançamento de androidx.compose.material3:material3:1.0.0 e androidx.compose.material3:material3-window-size-class:1.0.0. A versão 1.0.0 contém estas confirmações.

Principais recursos da versão 1.0.0

Esta é a primeira versão estável do Compose Material 3.

Temas do Material Design 3 e cores dinâmicas do Material You

Componentes do Material Design 3

Classe de tamanho da janela

  • material3-window-size-class é uma nova biblioteca que oferece suporte a classes de tamanho de janela: um conjunto de pontos de interrupção opinativos de janela de visualização para você projetar, desenvolver e testar layouts redimensionáveis de aplicativos. Você pode usar a calculateWindowSizeClass para extrair uma instância de classe de tamanho de janela, que pode ser usada para determinar como a interface vai aparecer. Por exemplo, é possível mostrar uma coluna de navegação em vez da navegação na parte de baixo em tamanhos de janela maiores. Veja mais informações e exemplos de uso na documentação de referência da API de WindowSizeClass.

  • Veja mais detalhes nesta postagem do blog (em inglês).

Versão 1.0.0-rc01

5 de outubro de 2022

Lançamento de androidx.compose.material3:material3:1.0.0-rc01 e androidx.compose.material3:material3-window-size-class:1.0.0-rc01. A versão 1.0.0-rc01 contém estas confirmações.

Mudanças na API

  • Foi adicionado um parâmetro de slot para oferecer suporte à API de campo de texto para texto (Iaac0d, b/227146125).

Versão 1.0.0-beta03

21 de setembro de 2022

Lançamento de androidx.compose.material3:material3:1.0.0-beta03 e androidx.compose.material3:material3-window-size-class:1.0.0-beta03. A versão 1.0.0-beta03 contém estas confirmações.

Mudanças na API

  • ExposedDropdownMenuDefaults agora expõe um valor de padding para itens de menu (I34ee1).
  • ExposedDropdownMenuBoxScope agora tem um modificador Modifier.menuAnchor() que precisa ser transmitido para o campo de texto para um comportamento de acessibilidade adequado (I27fa3).
  • Adição de dois métodos sobrecarregados para a API Slider atual que permitem que os usuários passem um polegar ou uma faixa para preencher o controle deslizante (I21c00).

Correções de bugs

  • O mapeamento de cores do tema escuro para On Error Container foi atualizado para o tom 90 (Ic5612).
  • Correção para permitir a configuração de um segundo plano transparente para pequenas barras de apps do Material 3 (I645e2, b/245575782).

Versão 1.0.0-beta02

7 de setembro de 2022

Lançamento de androidx.compose.material3:material3:1.0.0-beta02 e androidx.compose.material3:material3-window-size-class:1.0.0-beta02. A versão 1.0.0-beta02 contém estas confirmações.

Mudanças na API

  • Os encartes de componentes padrão introduzidos nos componentes m3 na versão beta01 não consideram mais encartes do IME (editor de método de entrada, na sigla em inglês).
  • O componente Scaffold do Material3 agora tem um parâmetro contentWindowInsets, que permite especificar a quantidade de encartes a serem processados no slot de conteúdo (Icf11a, b/243713323).
  • A função SmallTopAppBar experimental do Material 3 foi descontinuada e introduzimos uma função TopAppBar equivalente. Em vez disso, use a função nova (I74404, b/226918634).
  • Foi adicionado controle sobre os principais comportamentos de deslizar rapidamente e de ajuste da barra de apps (I15c81).
  • O startIndent do foi removido do divisor e a cor foi movida para ser o último parâmetro (If7be2).

Correções de bugs

  • As caixas de diálogo agora são identificadas para usuários do TalkBack com um aviso usando as palavras "caixa de diálogo" quando uma aparece (I857ef).

Versão 1.0.0-beta01

24 de agosto de 2022

Lançamento de androidx.compose.material3:material3:1.0.0-beta01 e androidx.compose.material3:material3-window-size-class:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.

Referência da API

Para conferir os temas, componentes e outros elementos de composição mais recentes disponíveis, consulte a Visão geral de referência da API Compose Material 3.

Mudanças na API

  • A barra de cima do app do Material 3 foi atualizada para poder ser fechada totalmente de um estado completamente aberto. Além disso, a função TopAppBarDefaults foi atualizada para ser de composição e fornecer valores padrão para o estado principal da barra de apps e a especificação da animação (I642b3).
  • As assinaturas de componentes do FAB foram atualizadas para corresponder à API da plataforma (I3afaa).
  • Foi adicionado suporte integrado a encartes para as principais barras de apps, gavetas, barra de navegação e colunas. Quando esses componentes são usados separadamente ou com o Scaffold, eles processam de forma automática os encartes dos desenvolvedores. Observação: essa mudança não adiciona processamento automático dos ícones da barra de status e transparência das barras de status e de navegação. Continue fazendo isso manualmente para garantir a melhor experiência de ponta a ponta (I7e4e6, b/183161866).
  • O padrão do componente foi atualizado para reduzir a superfície da API e melhorar a flexibilidade e performance no futuro (I31820).
  • Os parâmetros da página da gaveta de navegação e dos ícones foram reorganizados para manter a consistência dentro da API (I45d0b).
  • O elemento startIndent foi removido do divisor e a cor foi movida para ser o último parâmetro (If7be2).

Versão 1.0.0-alpha16

10 de agosto de 2022

Lançamento de androidx.compose.material3:material3:1.0.0-alpha16 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha16. A versão 1.0.0-alpha16 contém estas confirmações.

Novos recursos

  • Suporte para a especificação de uma largura personalizada em gavetas de navegação (Ia7f10).

Mudanças na API

  • Os parâmetros da guia e da guia de ícones principais foram reordenados para manter a consistência na API (Ie2637).
  • BadgeDefaults foi marcado como experimental (I98ef3).
  • A função de gaveta de navegação descontinuada foi removida (I4f2db).
  • Os parâmetros do controle deslizante do Material 3 foram reordenados para manter a consistência na API (I0aee7).
  • Os parâmetros NavigationBar e NavigationRail foram reordenados para manter a consistência na API (I51cda).
  • Os parâmetros do Material 3 foram reordenados para manter a consistência na API (If4ae1).
  • Os parâmetros do controle deslizante no Material 3 foram reordenados para manter a consistência dentro da API (I62673).
  • O parâmetro de ícones foi renomeado como uma ação para consistência com a barra de apps superior (Id75be).
  • Badge e BadgedBox foram marcados como experimentais, porque o alinhamento da âncora ainda está em fluxo (I1712e, b/236524516).
  • Foram feitas mudanças nas anotações @ExperimentalMaterial3Api nas variantes do botão de ícone para @OptIn (I070b5).
  • O conteúdo da gaveta de navegação foi separado em uma função de composição para oferecer suporte à especificação de uma largura personalizada (Ia7f10).
  • O Divider foi removido de MenuDefaults e TabDefaults (I4e33c).

Versão 1.0.0-alpha15

27 de julho de 2022

Lançamento de androidx.compose.material3:material3:1.0.0-alpha15 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha15. A versão 1.0.0-alpha15 contém estas confirmações.

Novos recursos

  • Agora é possível arrastar a barra de apps superior usando a própria barra (I65c00, b/205873416).

Mudanças na API

  • As APIs FilterChip e ElevatedFilterChip foram atualizadas para remover o slot selectedIcon e promover a reutilização do leadingIcon para exibir um estado selecionado (Ie5dc2).
  • Foram adicionados papéis de cor de variante scrim e contorno (Id6d54).
  • Foram corrigidas as convenções de nomenclatura para padrões de composição (I62b27).
  • ListItemDefaults e ListItemColors foram marcados como experimentais (I1f3ec).
  • A API da barra de apps superior passou por mudanças para refletir melhor o significado das propriedades de estado. Além disso, ela foi marcada como experimental (Ic0ad8).
  • As cores de seleção de texto foram adicionadas a TextFieldColors para melhorar a detecção do dispositivo (Iba1b8).
  • ButtonDefault.ButtonWithIconContentPadding foi adicionado para ser usado com botões que contêm um ícone (I2bf9c).
  • Os campos de texto foram marcados como experimentais para permitir mais flexibilidade em futuras mudanças na API (I127b5).
  • A anotação @ExperimentalMaterial3Api foi removida da função Checkbox (I5eefc).
  • A anotação @ExperimentalMaterial3Api foi removida da função RadioButton (I17e2a).
  • A anotação @ExperimentalMaterial3Api foi removida dos cards não interativos (I9bd49).
  • Vários objetos padrão dos componentes foram atualizados para incluir cores, formas etc. (I96e11).

Correções de bugs

  • Os ícones finais não funcionais foram removidos de exemplos de ícone de entrada para evitar confusão dos usuários no app de catálogo (I9846a).

Versão 1.0.0-alpha14

29 de junho de 2022

Lançamento de androidx.compose.material3:material3:1.0.0-alpha14 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha14. A versão 1.0.0-alpha14 contém estas confirmações.

Novos recursos

  • A implementação de lista M3 foi adicionada. Consulte a documentação para ver um exemplo de uso (Id7a20).

Mudanças na API

  • Mudança do nome do parâmetro de valores para valor em RangeSlider (I3b79a).
  • A API passou por mudanças na implementação de InputChip a fim de oferecer suporte a um estado selecionável de acordo com a especificação do Material Design. Foi adicionado suporte extra às cores de FilterChip para o estado desativado selecionado (I55244, b/235792432).
  • Adição do FAB padrão BottomAppBar (Ida4c8).
  • Adição de ColorScheme.surfaceColorAtElevation (Id41af).
  • As interfaces em bibliotecas de composição agora são criadas usando métodos de interface padrão do jdk8 (I5bcf1).
  • WindowWidthSizeClass e WindowHeightSizeClass agora implementam elementos Comparable para que possam ser comparados usando operadores (<, <=, >=, >) e outras APIs (I747d0).

Correções de bugs

  • Atualizada a amostra do ícone para fornecer uma descrição de conteúdo mais significativa (I10b9d).
  • Adicionada a opção de usar o tamanho da fonte do sistema no seletor de temas do catálogo do Material 3 (I10605).
  • Adicionado um exemplo de código para indicadores de progresso indeterminado e do ícone (I8fbe0).

Versão 1.0.0-alpha13

1º de junho de 2022

Lançamento de androidx.compose.material3:material3:1.0.0-alpha13 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha13. A versão 1.0.0-alpha13 contém estas confirmações.

Mudanças na API

  • Permite manter a posição superior da barra de apps na mudança de configuração (I10459, b/216160958).

Versão 1.0.0-alpha12

18 de maio de 2022

Lançamento de androidx.compose.material3:material3:1.0.0-alpha12 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha12. A versão 1.0.0-alpha12 contém estas confirmações.

Correções de bugs

  • O controle deslizante pai agora pode ter 0 largura (b/231707291).

Versão 1.0.0-alpha11

11 de maio de 2022

Lançamento de androidx.compose.material3:material3:1.0.0-alpha11 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estas confirmações.

Novos recursos

  • O RangeSlider foi adicionado ao Material 3 (I18e38).
  • Foi adicionado suporte para AssistChip e InputChip no Material3 (I0d25a).
  • Foi adicionado suporte para FilterChip e SuggestionChip no Material3 (I9fdf3).

Mudanças na API

  • O elemento combinável TextFieldDefaults.BorderStroke que desenha um traço de borda em OutlinedTextField foi renomeado como TextFieldDefaults.BorderBox (I5f295).
  • Mudanças visuais no m3 (Iab30e).
  • Permissão para transmitir cores aos botões de ícone padrão (Ia2445).

Correções de bugs

  • Foi adicionada a verificação de lint a material3/Scaffold para garantir que o padding interno seja usado (I72293, b/226951418).

Versão 1.0.0-alpha10

20 de abril de 2022

Lançamento de androidx.compose.material3:material3:1.0.0-alpha10 e androidx.compose.material3:material3-window-size-class:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estas confirmações.

Novos recursos

  • material3-window-size-class é uma nova biblioteca que oferece suporte a classes de tamanho de janela: um conjunto de pontos de interrupção opinativos de janela de visualização para você projetar, desenvolver e testar layouts redimensionáveis de aplicativos. Você pode usar a calculateWindowSizeClass para extrair uma instância de classe de tamanho de janela, que pode ser usada para determinar como a interface vai aparecer. Por exemplo, é possível mostrar uma coluna de navegação em vez da navegação na parte de baixo em tamanhos de janela maiores. Veja mais informações e exemplos de uso na documentação de referência da API de WindowSizeClass. Para mais informações sobre definições de classe de tamanho de janela, consulte a orientação pública sobre como oferecer suporte a diferentes tamanhos de tela.

Mudanças na API

  • Foi adicionada uma elevação padrão do FAB para a BottomAppBar e a lambda final de BottomAppBar com o FAB foi removida (I92c47).
  • Foram adicionados os elementos FilledIconButton, FilledTonalIconButton e OutlinedIconButton do Material3 (Ib2bda).
  • A API Snackbar do Material 3 foi atualizada para aceitar valores de cor para a ação opcional e a de dispensa (Ibe4b4).
  • O consumo parcial (para baixo OU na posição) foi descontinuado em PointerInputChange. Use consume() para consumir a mudança completamente. Você pode usar isConsumed para determinar se outra pessoa já consumiu a mudança.
  • Agora, o PointerInputChange::copy() sempre faz uma cópia superficial. Isso significa que se uma cópia de PointerInputChange for consumida, todas as outras também serão. Se você quiser criar uma PointerInputChange desvinculada, use o construtor (Ie6be4, b/225669674).
  • Mudanças na API Cards para receber as cores do contêiner e do conteúdo por uma interface CardColors e oferecer suporte a um estado desativado para cards clicáveis (I927df).
  • O parâmetro backgroundColor foi renomeado como containerColor nos campos de texto do Material 3 para melhorar a consistência com outros componentes (I6fbd9).

Correções de bugs

  • O IconButton padrão foi atualizado para ficar alinhado à especificação do Material3 (I09eab).
  • A altura da barra de cima do Scaffold do Material3 foi movida para o padding transmitido ao conteúdo, permitindo que o conteúdo seja renderizado abaixo da barra de apps de cima. Se os PaddingValues forem ignorados, o conteúdo vai poder ser coberto pela barra de cima (I83cbc, b/217776202).

Versão 1.0.0-alpha09

6 de abril de 2022

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

Novos recursos

  • A API Material 3 Switch foi adicionada (I2c3ad).

Mudanças na API

  • Foi adicionado suporte a menus suspensos com campos de texto (também conhecidos como "menus suspensos expostos" ou "caixas de combinação") (I1b832).
  • Foi adicionado um parâmetro de forma aos subsistemas MaterialTheme e Shape (I37426).
  • Foi adicionado um parâmetro expandido a ExtendedFloatingActionButton para controlar se o FAB é expandido ou recolhido, com animações entre cada estado. Uma sobrecarga foi adicionada para FABs estendidos com texto à direita para ExtendedFABs sem ícone (Iba7f1).

Versão 1.0.0-alpha08

23 de março de 2022

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

Novos recursos

Mudanças na API

  • O divisor padrão foi incluído no menu (I01374).
  • O parâmetro de cor surfaceTint foi adicionado à classe ColorScheme (I2f558).

Correções de bugs

  • Correção no botão do Material3 para ler o valor do estilo de texto padrão do MaterialTheme (Ie62fc).

Versão 1.0.0-alpha07

9 de março de 2022

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

Mudanças na API

  • A API Surface do Material Design 3, que traz as funções sobrecarregadas para superfícies clicáveis, além de adicionar uma função para oferecer suporte a superfícies selecionáveis e alternáveis, foi atualizada (I4bf18).
  • As APIs LazyVerticalGrid e LazyHorizontalGrid agora estão na versão estável (I307c0).
  • LazyVerticalGrid/LazyHorizontalGrid e todas as APIs relacionadas foram movidas para o subpacote .grid. Atualize as importações de androidx.compose.foundation.lazy para androidx.compose.foundation.lazy.grid (I2d446).
  • A mudança anterior foi revertida para depender apenas de uma visualização para WindowInsetsControllerCompat e voltou a exigir uma janela para gerenciar algumas flags. O uso de ViewCompat.getWindowInsetsController foi descontinuado e substituído por WindowCompat.getInsetsController para garantir que a janela correta seja usada. Por exemplo, se a visualização estiver em uma caixa de diálogo (I660ae, b/219572936).
  • Uma nova API LazyVerticalGrid foi adicionada para definir o tamanho de eixos cruzados (I17723).

Correções de bugs

  • Atualizações na API Card para acompanhar as mudanças na API Surface (I3c8b9).

Versão 1.0.0-alpha06

23 de fevereiro de 2022

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

Mudanças na API

  • A NavigationDrawerItem que representa um único destino nas gavetas foi adicionada (Ic396f, b/218286829).
  • PermanentNavigationDrawer e DismissibleNavigationDrawer foram adicionadas como APIs experimentais. Essas são as gavetas adequadas para dispositivos de tela grande (I5f8ab, b/218286829).
  • Foi adicionado suporte à barra de baixo de apps do Material 3 (Ic432a).
  • A interface NavigationDrawer foi renomeada como ModalNavigationDrawer (I1807d, b/218286829).
  • Foram adicionados tokens e a classe de Slider do Material 3 (I1ccee).
  • A implementação de guia foi adicionada. Consulte a documentação para ver um exemplo de uso (Ie0146).

Correções de bugs

  • Corrigido um problema em que a navegação linear do leitor de tela TalkBack selecionava um título vazio para a barra de apps da parte de cima (Id4690).
  • O IconSize foi adicionado a FloatingActionButtonDefaults (Ia71cf).
  • Um bug em que botões da AlertDialog ficavam ocultos quando um texto longo era adicionado com uma LazyColumn foi corrigido (Ib2cc9, b/216663029).

Versão 1.0.0-alpha05

9 de fevereiro de 2022

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

Novos recursos

Inclusão de componentes do Material Design 3

Mudanças na API

  • A função Surface, que recebe um callback onClick, foi descontinuada. As superfícies clicáveis precisam ser criadas com uma InteractionSource e um Modifier.clickable() (I211c6).
  • Inclusão de suporte para elevação pressionada e em foco para FAB (Ibb584).
  • Mudança na API Surface para que receba uma InteractionSource, que permite controlar a aparência em estados diferentes (Iafbc8).

Correções de bugs

  • Foram incluídas cores terciárias ausentes em esquemas de cores dinâmicas (I456c4, b/214588434).

Versão 1.0.0-alpha04

26 de janeiro de 2022

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

Mudanças na API

  • A anotação NonRestartableComposable foi adicionada a métodos que são sobrecargas de métodos já existentes sem lógica complexa. Isso reduz as verificações de memorização geradas pelo compilador (igual a) para todos os parâmetros repetidos na função interna chamada (I90490).
  • Adição do divisor do Material 3 (Ica5fc).
  • Marcação da caixa de seleção e RadioButton com uma anotação de API experimental (Ie44bb).
  • Inclusão de suporte para indicadores de progresso do Material 3 (Iff232, b/205023841).

Correções de bugs

  • Atualização da cor de um contêiner TextButton's desativado para que ele fique transparente (I6b248, b/213339737).

Versão 1.0.0-alpha03

12 de janeiro de 2022

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

Correções de bugs

Atualizações de dependência

  • Agora depende do Kotlin 1.6.10.

Versão 1.0.0-alpha02

1º de dezembro de 2021

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

Novos recursos

  • Foi adicionado suporte a caixas de seleção e botões de opção.
  • Foi adicionada compatibilidade com o Kotlin 1.6.0.

Mudanças na API

  • A gaveta do scaffold foi removida do Material 3 (I04f51).
  • Adicionado suporte ao Checkbox do Material 3 (Id5542).
  • Adicionado suporte ao RadioButton do Material 3 (I20334).

Correções de bugs

  • O raio da ondulação do IconButton foi removido de 40dp para 20dp (I68bbe, b/206674345).
  • Caminho rápido da string de porta para mudanças de Text de compose.material (I30b03).
  • O botão fixado no código foi corrigido para que ele fique sempre ativado (Iea832, b/205335456).

Versão 1.0.0-alpha01

27 de outubro de 2021

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

Novos recursos

Temas do Material Design 3 e cores dinâmicas do Material You

Componentes do Material Design 3

Para ver mais informações, consulte a seção Material Design 3 e Material You no guia Temas do Material Design no Compose.