Compose Material 3
androidx.compose.material3
(Consulte os documentos de referência da API para todos os pacotes do Compose)
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
17 de abril de 2024 | 1.2.1 | - | - | 1.3.0-alpha05 |
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.
Grupo | Descrição |
---|---|
compose.animation | Crie animações nos aplicativos Jetpack Compose para enriquecer a experiência do usuário. |
compose.compiler | Transforme funções @Composable e ative otimizações com um plug-in do compilador Kotlin. |
compose.foundation | Crie 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.material | Crie 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.material3 | 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 interface do sistema. |
compose.runtime | Elementos 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.ui | Componentes 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.0.0-alpha06" } 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.0.0-alpha06") } 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.
Consulte a documentação do Issue Tracker para saber mais.
Compose Material3 Common: versão 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 these confirmações.
Novos recursos
Componentes sem tema que podem ser usados para criar componentes do Material Design:
- Paleta de tons
- Ícone
- Tamanho da área de toque
Compose Material3 Adaptive Navigation Suite: versão 1.0
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 these commits.
Mudanças na API
- Adicione
containerColor
econtentColor
aNavigationSuiteScaffoldDefaults
. (I64e3a, b/331993720). - Adição da função
itemColors
aNavigationSuiteDefaults
(Idf719, b/328480012). NavigationSuiteScope
selada. (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 these commits.
Mudanças na API
- O construtor
NavigationSuiteItemColors
agora é público (Ica83a, b/324886877).
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
- Atualização das dependências adaptáveis do Material3 para os novos caminhos do módulo (Ibc421).
- Migre para a versão do gerenciador de janelas 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
- O nome do pacote foi atualizado para Navigationsuite (I7eff7).
- Os componentes do Material3 que expõem um
MutableInteractionSource
na API foram atualizados para expor umMutableInteractionSource
anulável que tem como padrão nulo. Não há mudanças semânticas aqui: transmitir um valor nulo significa que você não quer elevar aMutableInteractionSource
, que será criada dentro do componente, se necessário. Mudar para nulo permite que alguns componentes nunca aloquem umaMutableInteractionSource
e que outros componentes só criem lentamente uma instância quando necessário, o que melhora o desempenho deles. Se você não estiver usando aMutableInteractionSource
transmitida para esses componentes, é recomendável transmitir um valor nulo. Também é recomendável fazer alterações 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
- Um
NavigationSuiteType
"None" foi adicionado (If8cb1, b/313688598).
Correções de bugs
- O componente de navegação que preencheva a tela inteira quando a superfície raiz tinha
modifier.fillMaxSize
foi corrigido (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
- NavigationSuiteScaffold
- NavigationSuiteScaffoldLayout (em inglês)
- NavigationSuite (em inglês)
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 de
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 para reconhecimento do histórico na navegação de scaffold e 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 no Posture foram movidas para uma lista de informações de articulação (I24f90).
Correções de bugs
- Correção de
AnimatedPane
que não era 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 aliases de
ThreePaneScaffoldRole
. (I65bd1). - Criação de uma classe de base para papéis scaffold (I4784d).
- O parâmetro desnecessário do conteúdo de
AnimatedPane
foi removido (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
- Dividir APIs de navegação de APIs de scaffold adaptáveis. (Ic4045).
- Remover a classe
GutterSize
. (I785b3).
Correções de bugs
- Correção de painéis que 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:
- PaneScaffoldDirective
- CalcularStandardPaneScaffoldDirective
- Calcule DensePaneScaffoldDirective
- AdaptStrategy (em inglês)
- ThreePaneScaffoldAdaptStrategies (em inglês)
- HingePolicy (link em inglês)
APIs de scaffold do painel adaptativo do Material3:
- APIs básicas de scaffolding do painel
- PaneScaffoldScope (em inglês)
- ThreePaneScaffoldRole.
- PaneAdaptedValue (em inglês)
- ThreePaneScaffoldValue (em inglês).
- CalcularThreePaneScaffoldValue (em inglês)
- AnimatedPane (em inglês)
Compose Material3: versão 1.3
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
eDockedSearchBar
têm novas sobrecargas que usam um parâmetro de campo de texto. Isso permite estilizar o campo de texto separadamente do restante da barra de pesquisa, bem como transmitir campos de texto personalizados. O campo de texto da implementação atual foi disponibilizado comoSearchBarDefaults.InputField
. (I50c73, b/275074248, b/278773336, b/326627700).- A
drawTick
lambda foi adicionada à 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, passando o cursor e focados (I5f864, b/139312671).
CarouselItemInfo
foi atualizado para expor um Rect de máscara pelo qual o item está sendo recortado (I785d8).BasicTooltipState
foi removido da API pública do Material 3 A funcionalidade dela é combinada com oTooltipState
até que oBasicTooltip
do Foundation esteja estabilizado. (Icda29).- Adição de um objeto
TextDefaults
que contém métodos para construir umaLinkAnnotation
e analisar a string com tag HTML que aplicaMaterialTheme
aos links (I98532, b/139312671). ExposedDropdownMenuBoxScope
não permite mais subclasses. Os menus suspensos expostos agora têm umMenuAnchorType
que precisa ser transmitido paramenuAnchor
para oferecer suporte a uma melhor acessibilidade Use-o em vez de transmitirfocusable
paraExposedDropdownMenu
, que foi descontinuadomenuAnchor
tem um novo parâmetro para controlar o estado doenabled
. (I55ee6, b/257209915, b/308840226).- Correção da cor da borda de
OutlinedButton
quando desativada Foi adicionada uma sobrecarga deButtonDefaults.outlinedButtonBorder("enabled")
, que assume o estado ativado (Ie650b, b/318461363). - Foi adicionada uma nova classe
CarouselItemInfo
para ajudar os clientes a conseguir 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
renomeado comoContainer
. (Ie8d3b).
Correções de bugs
- O
BottomSheetScaffold
não rolará mais da rolagem aninhada sesheetSwipeEnabled
for falso (I5e1c1, b/306464779). - Algumas anotações de ativação
ExperimentalMaterial3Api
foram removidas emIconButtonSamples.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 these confirmações.
Novos recursos
- Foram adicionadas duas versões experimentais do Carrossel do Material 3:
HorizontalMultiBrowseCarousel
eHorizontalUncontainedCarousel
(I88d64). - A gaveta de navegação do Compose M3 (
ModalDrawerSheet
eDismissibleDrawerSheet
) foi atualizada para oferecer suporte à volta preditiva no U+ como ativação (Ie5b0b). - Uma nova API foi adicionada em Icon para permitir a transmissão da tonalidade de cor como lambda para 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 na parte de cima de uma única linha fossem recompostas muitas vezes ao rolar o conteúdo. Resolução de um problema em que o
MediumTopAppBar
truncava os títulos em dispositivos com configurações de fonte/exibição grandes. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676). - A
SegmentedButton
e as APIs associadas agora são estáveis (I8a158). SwipeToDismissBox
,SwipeToDismissBoxDefaults
,SwipeToDismissBoxState
eSwipeToDismissBoxValue
agora estão marcados como estáveis (I5f000).- As APIs e os tipos enumerados
DismissDirection
eDismissValue
descontinuados foram removidos (I89ccd). - Adicionamos uma tag experimental ao objeto complementar
CarouselState
do carrossel. (I94154). - O uso de
LocalMinimumInteractiveComponentEnforcement
foi descontinuado, eLocalMinimumInteractiveComponentSize
foi introduzido para substituí-lo. (I7a7ac). - O construtor
SearchBarColors
agora é público (I769ca). - Adição de um parâmetro
gesturesEnabled
aSwipeToDismissBox
(Idc59f, b/324170119). - Remoção de APIs de campo de texto que foram 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
- A sobreposição de estado do foco foi atualizada 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
edarkColorScheme
. (I9db52).
Novos recursos
- Adição de parâmetros para personalizar
ExposedDropdownMenu
Mais especificamente, os menus agora têm um parâmetrofocusable
(padrãotrue
) que precisa ser definido comofalse
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). - Reordenar parâmetros no elemento combinável da faixa do controle deslizante. (I9f315).
ExposedDropdownMenu
agora é implementado usandoPopup
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
- As funções de valor de referência do contêiner Surface e Surface foram ligeiramente ajustadas, oferecendo mais tonalidade em temas claros e escuros. (I677a5).
- Atualizamos as cores do controle deslizante e do
ProgressIndicator
para seguir as novas especificações de contraste sem texto (I26807). - A sobreposição de estado do foco foi atualizada 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
edarkColorScheme
. (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 these confirmações.
Mudanças na API
- Os estados do controle deslizante ficaram estáveis novamente. Transformando
State.onValueChangeFinished
em valor novamente. UnindoonValueChangeFinished
em umrememberUpdatedState
. (I82ab2, b/322269951). - Os componentes de navegação agora usam os novos papéis
SurfaceContainer
.DrawerDefaults
agora fornece atributosstandardContainerColor
emodalContainerColor
distintosDrawerDefaults.ModalDrawerElevation
agora é0.dp
. (I7fbac). - Remoção de
@Stable
dos estados deSlider
, já que estamos mudandostate.onValueChangeFinished
paravar
(Ied34a, b/322269951). - A especificação de animação
ModalBottomSheet
eStandardBottomSheet
agora é umTweenSpec
, atualizada de uma animação de mola. Isso resolve um problema com uma ultrapassagem visível. Os construtoresSheetState
descontinuados sem densidade foram removidos (I7babc, b/285847707).
Correções de bugs
- Agora,
SurfaceContainer
variantes são usadas pelos componentes. Componentes que calculam a cor formalmente com Surface eTonalElevation
agora usam funçõesSurfaceContainer
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 desativada e não selecionada de
ElevatedFilterChip
ficasse preta (I400e6, b/322407043). - Correção do indicador de progresso indeterminado quando o progresso é 0 (Id6582).
- Correção de um problema com
Slider
eRangeSlider
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 umaDateRangePicker
ou ao exibir qualquer tipo de seletor de data em telas pequenas com fontes maiores. (Ie4758, b/325107799, b/277768544). Menu
agora usa o papelSurfaceContainer
para a cor do contêiner.MenuDefaults.TonalElevation
agora é0.dp
. (I135b7).TextField
agora usa o papelSurfaceContainerHighest
para a cor do contêiner. (I4dced).- Os ícones avançados 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 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). - Atualiza o botão desativado e as faixas/ícones não selecionados para usar a função de cor
SurfaceContainerHighest
. (I7687a). - A cor do contêiner
AlertDialog
agora éSurfaceContainerHigh
. (Ie0433). - A cor do contêiner
BottomAppBar
agora éSurfaceContainer
. A coronScroll
deTopAppBar
agora éSurfaceContainer
. (I41630). - A cor do contêiner
ElevatedCard
agora éSurfaceContainerLow
. CorSurfaceContainerHighest
do contêiner deFilledCard
. (I35141). - A cor do contêiner
ElevatedButton
agora éSurfaceContainerLow
. Quando a cor deFilledIconButton
é desmarcada, o contêiner tem a corSurfaceContainerHighest
. (I792c9). - Atualiza a cor do contêiner
TimePicker
e a função de cor do mostrador do relógio paraSurfaceContainerHighest
. (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
- O
ModalBottomSheet
do Compose M3 foi atualizado para oferecer suporte à volta preditiva no U+ (Iccf32, b/281967264, b/304850357). - O Compose M3
SearchBar
foi atualizado para oferecer suporte à volta preditiva no U+ (I657f8). - O controle deslizante foi atualizado para melhorar a acessibilidade com a adição de um indicador de lacuna e parada. (I3058e).
- O
ProgressIndicator
foi atualizado para melhorar a acessibilidade, adicionando um indicador de lacuna e parada (I21451). - Com a adição de um cursor de texto padrão para dicas avançadas, a nova API de dicas avançadas agora permite que o cursor personalizado seja desenhado com base na â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 está pública. (I3f59f). - Marque a função
formatWithSkeleton
doDatePicker
como interna (Ic65dc). DropdownMenu
agora oferece suporte a cor, forma, elevação e borda personalizadas (I8e981, b/289554448, b/301887035, b/283654243).- Os componentes do Material3 que expõem um
MutableInteractionSource
na API foram atualizados para expor umMutableInteractionSource
anulável que temnull
como padrão Não há mudanças semânticas aqui: transmitir um valor nulo significa que você não quer elevar aMutableInteractionSource
, que será criada dentro do componente, se necessário. Mudar para nulo permite que alguns componentes nunca aloquem umaMutableInteractionSource
e que outros componentes só criem lentamente uma instância quando necessário, o que melhora o desempenho deles. Se você não estiver usando aMutableInteractionSource
transmitida para esses componentes, é recomendável transmitir um valor nulo. Também é recomendável fazer alterações semelhantes nos seus próprios componentes. (I41abb, b/298048146). RippleConfiguration
eLocalRippleConfiguration
foram adicionados 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 uma ondulação. Na maioria dos casos, os valores padrão devem ser usados: essas APIs são uma saída 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 usandocreateRippleModifierNode
. (I7b5d6, b/298048146).- Adição da nova API de ondulação ao material3, que substitui o
rememberRipple
descontinuado Também adiciona umCompositionLocal
temporário,LocalUseFallbackRippleImplementation
, para reverter os componentes do Material3 para o uso das APIsrememberRipple
/RippleTheme
descontinuadas Ela vai ser removida na próxima versão estável e serve apenas como ajuda temporária na migração para casos em que você está fornecendo umRippleTheme
personalizado. (I34cbc, b/298048146).
Correções de bugs
- A subcomposição de
ModalBottomSheet
foi removida para melhorar o desempenho Correção de um problema em que oModalBottomSheet
poderia falhar em cenários específicos em combinação comLookaheadScope
(I2a198). - A subcomposição de
BottomSheetScaffold
foi removida para melhorar o desempenho Correção de um problema em que oBottomSheetScaffold
falhava em cenários específicos em combinação comLookaheadScope
(Ie6401). - O alinhamento do selo é ajustado para ficar mais próximo do centro do conteúdo da âncora em relação ao canto superior direito. (I18a28).
- Foi corrigido um problema de acessibilidade com o
DateRangePicker
, em que o título do 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 acesso por voz. (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
- Os estados do controle deslizante ficarão estáveis novamente. Transformando
State.onValueChangeFinished
em valor novamente. UnindoonValueChangeFinished
em umrememberUpdatedState
. (Ie8fd0, b/322269951). - Remoção de
@Stable
dos estados deSlider
, já que estamos mudandostate.onValueChangeFinished
paravar
(I82ba1, b/322269951). - Correção de
NavigationBar
cores personalizadas para copiar dos padrões (80a779, b/326894020). - A regressão em
ExposedDropdownMenu
foi corrigida para torná-la focalizável novamente (3fcec1, b/323694447). - Correção do problema de armazenamento em cache de cores 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 entre visualização e composição foi introduzido no
PrimaryTabRow
como parte de uma mudança de melhoria de desempenho. A solução alternativa é usarTabRow
comTabRowDefaults.PrimaryIndicator
.
Mudanças importantes desde a 1.1.0
Novos componentes do Material Design 3
- Puxe para atualizar
- PullToRefreshContainer (em inglês)
- PullToRefreshState (em inglês)
- Botão segmentado
Melhorias nos componentes atuais do Material Design 3.
- Barra de apps inferior (alinhamento RTL, ocultar automaticamente ao rolar a tela)
- BottomAppBarScrollBehavior (em inglês)
- Atualização visual das guias
- Selo (atualização do alinhamento)
As APIs experimentais foram promovidas para a versão estável.
Melhorias no desempenho
- Confira mais detalhes nesta postagem do blog.
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). - Correção de um bug introduzido em
1.2.0-beta02
emCardDefaults.cardColors
que não atualizavacontentColor
com base no valor do parâmetrocontainerColor
(Iee041, b/319671246). - Correção de um bug no
disabledContentColor
introduzido no1.2.0-beta02
e adição de 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 em
IconButtonColors
atribuidisabledContentColor
a um Alfa (0,38f) deLocalContentColor
, em vez docontentColor
especificado pelo usuário. A solução alternativa é definir explicitamente odisabledContentColor
. Isso será corrigido na próxima versão.
Mudanças na API
- Adição do recurso para ativar acentos circunflexos de dicas para APIs
Tooltip
simples (Ibf767). SwipeToDismissState
,rememberSwipeToDismiss
eSwipeToDismissValue
foram renomeados para ter_SwipeToDismissBox_
(I68d6d).
Correções de bugs
- Correção do valor do padding final
ListItem
para se alinhar à especificação (Ibd68b, b/305342674). - A cor do contorno do card contornado agora está mapeada corretamente para
OutlineVariant
. (I75480, b/310979715). - As cores dinâmicas agora são extraídas das funções de cor definidas pelo sistema. Isso melhora o contraste de conteúdo acessível e alinha melhor a cor dinâmica à especificação do Material Design (I1de96).
- Foi corrigido o processamento de retorno de
ModalBottomSheet
no Android T/13 e versões mais recentes quandoandroid: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).- As APIs experimentais descontinuadas foram removidas da dica. (I438cb).
- As novas sobrecargas de
TabRow
foram mudados para não usar subcomposições Isso resulta de uma maneira diferente de criar os indicadoresTabRow
com modificadores personalizados. (Ife741). - Suspensão do uso das APIs
DismissDirection
eDismissValue
. Eles foram mesclados aoSwipeToDismissValue
, que tem valores que indicam a posição e a direção doSwipeToDismissBox
DismissState.progress
agora está marcado como umFloatRange
entre0.0
e1.0
O componenteDismissState
, Saver e Construtor, descontinuado foi removido. O componenteSwipeToDismiss
, 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 valorFloatRange
personalizada.SnapFlingBehavior.kt
agora também usa um intervalo Kotlin (I025cb).- As funções de fábrica do Modifier 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
ePullToRefreshState
, que juntos fornecem uma implementação de pull para atualizar no Material3 (I16456, b/261760718).
Mudanças na API
- Marque a
DismissDirection
e aDismissValue
doSwipeToDismissBox
como experimentais (I517b0). - O
SwipeToDismiss
foi renomeado comoSwipeToDismissBox
background
foi renomeado comobackgroundContent
, edismissContent
foi renomeado como lambdacontent
final (I7f4d3). - Torne o construtor de
ChipElevation
eSelectableChipElevation
público. (Ie0c48, b/308432421). - Adicionando
ModalBottomSheetProperties
. MovendosecurePolicy
paraModalBottomSheetProperties
. AdicionandoisFocusable
eshouldDismissOnBackPress
aModalBottomSheetProperties
. Esses novos booleanos ajudam a determinar como a página inferior modal deve lidar com os eventos do IME. (Iea56f, b/278216859). - Atualização dos estados
RangeSlider
eSlider
para removerinitialOnValueChange
, os prefixos iniciais e os kdocs apropriados (I57d30). - O uso da classe
ChipBorder
e das chamadas de função associadas foi descontinuado. Recomendamos usarBorderStroke
diretamente. (I89cc2). - As APIs Foundation dicas agora estão
@ExperimentalFoundationApi
. (I30b0b). TabRow
eScrollableTabRow
não estão mais descontinuados As novas variantes primária e secundária estão marcadas como experimentais. (I0def6).- Os ícones de filtro e entrada agora usam
BorderStroke
diretamente. (I07a8d). SegmentedButton
agora usaBorderStroke
diretamente (I89b9b).- A função genérica
AlertDialog
foi renomeada comoBasicAlertDialog
e descontinuada a função anterior (Idbe52). - As APIs
SwipeToDismiss
foram renomeadas comoSwipeDismiss
e as novas APIsSwipeDismiss
foram promovidas para estáveis (I14cbe). - Adição de
tonalElevation
eshadowElevation
às APIs de dica Além disso, movemos as APIsTooltipBox
,PlainTooltip
eRichTooltip
de volta para a versão experimental, já que elas foram acidentalmente lançadas como estáveis. (If0f66, b/293939035). - As APIs experimentais de chips foram promovidas para a versão estável. (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 adiantados e lentos 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
eBadgedBox
para a versão estável. (I67f16, b/261565132). - Adição de
securePolicy
como um parâmetro aModalBottomSheet
para que os usuários possam definir o comportamento paraWindowManager.LayoutParams.FLAG_SECURE
. (Icdac8, b/296250262). - Novas sobrecargas de
LinearProgressIndicator
eCircularProgressIndicator
, que usamprogress
como lambda Elas devem ter um desempenho melhor do que as versões anteriores. (I824e6, b/295616656). StandardSizeClasses
foi renomeado comoAllSizeClasses
. (I8cb07).- Combine 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 mostrado está no limite do intervalo de anos permitido (I46f36, b/290954897, b/297002119). - [Coluna/barra de navegação] Suporte a cores transparentes para indicadores. (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
eDismissibleNavigationDrawer
foram migrados para usar as novas APIsAnchoredDraggable
OanimateTo
doDrawerState
foi substituído pelos métodos de abertura e fechamento, e o deslocamento agora é exposto como um ponto flutuante em vez de um objeto de estado. É possível acessar o deslocamento diretamente porcurrentOffset
. (I0a72c).- Adicionamos funções não combináveis para criar
DatePickerState
eDateRangePickerState
diretamente Essas funções podem ser usadas como uma alternativa às funções combináveisrememberDatePickerState
erememberDateRangePickerState
quando necessário. (I70326, b/291524052). - As
TabRows
fixas e roláveis agora têm variantes primárias e secundárias Eles mapeiam corretamente para o comportamento de cor e indicador, conforme definido no Material3. PrimaryScrollableTabRow
eSecondaryScrollableTabRow
agora expõem o estado de rolagem (Iec8f5, b/260572337).- Adição de um novo parâmetro
sheetMaxWidth
que os desenvolvedores podem definir para especificar uma largura máxima que a página vai abranger. Dp.Unspecified pode ser passado para o parâmetro se uma página que abrange a largura inteira da tela for desejada. (Ifb7c9, b/266697696). - Adição das APIs
PlainTooltipBox
eRichTooltipBox
como métodos descontinuados (I246fa).
Correções de bugs
- Foi corrigida uma falha quando o
DatePicker
é inicializado com umDatePickerFormatter
que tem determinados esqueletos de data que permanecem os mesmos quando convertidos em padrões de data (como YY). (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
- O
ColorScheme
agora é imutável, tornando as atualizações de cores individuais menos eficientes, mas tornando o uso mais comum de cores mais eficiente. O raciocínio por trás dessa mudança é que a maioria dos apps não teria que atualizar cores individuais como principal caso de uso. Isso ainda é possível, mas a recomposição vai ser maior do que antes. Por sua vez, vamos diminuir significativamente a quantidade de assinaturas de estado em todo o código do Material Design e afetar a inicialização e o custo de execução de mais casos de uso padrão. (Ic447d, b/297212873). - A elevação de tonalidade não é mais animada em estados de interação diferentes para corresponder à especificação (Icdd12).
Mudanças na API
- Adição de um novo
BottomAppBar
que usa como parâmetro umaBottomAppBarScrollBehavior
para ocultá-lo automaticamente quando o conteúdo for rolado.FabPosition.EndOverlay
também foi adicionado, permitindo que o FAB se sobreponha à barra de apps inferior no scaffold em vez de ser ancorado acima dele (Iecb47). - Foi adicionado um componente simples de marcador, criado sobre a
BasicTooltipBox
, que não é dispensado ao tocar fora dos limites do identificador (I821f9).
Correções de bugs
- O uso de
rememberSaveable
para dicas de ferramentas foi removido (Icc131, b/299500338). - Foi introduzida uma flag temporária para controlar se o Scaffold vai medir os filhos durante a medição ou a colocação Por padrão, será medido em medidas. Se você está tendo problemas com o novo comportamento, registre um problema. (I0b354).
- Correção horizontal entre Edge 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 chamavaonDismissedRequest
ao dispensá-lo ao deslizar 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 espelho automático foi adicionado em
compose material 1.6.0-alpha05
. Consulte as notas da versão para mais detalhes sobre os ícones de espelho automático.
Mudanças na API
SliderState
implementaDraggableState
(I9b116).- Altere a forma para ser um parâmetro obrigatório.
position
foi renomeado comoindex
na função auxiliar de forma (I34941). - Atualiza o
DatePicker
formatWithSkeleton
para incluir um mapa usado como cache para melhorias de desempenho (I3195f). BasicTooltipBox
foi adicionado acompose.foundation
, ePlainTooltipBox
eRichTooltipBox
foram atualizados para usarTooltipBox
com os novos elementos combináveisPlainTooltip
eRichTooltip
. (I79e1d).
Correções de bugs
dynamicLightColorScheme
edynamicDarkColorScheme
agora retornam cores chroma mais altas para papéis de superfície esurfaceContainer
(I5e901).- Foi corrigido um problema em que alguns componentes que usavam subcomposição (por exemplo,
BottomSheetScaffold
) dentro de um Scaffold dentro de umLookaheadScope
tentavam 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
deDropdownMenu
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 (IFiles74, b/294103942). - O cálculo de
offset
deDropdownMenu
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 nas cores da caixa de seleção e do
TriStateCheckbox
. OCheckboxDefaults.colors()
disabledUncheckedColor
agora afeta apenas a borda da caixa de seleção. Casos especiais que exigem que você defina a cor da caixa interna quando desativada e desmarcada exigem uma instância personalizada construída de umCheckboxColors
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 Segmented Button (Ifc8fb).
- Os divisores agora têm um parâmetro para controlar a orientação e oferecer suporte a 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 componentes baseados em Planilhas. Use a nova sobrecarga fornecida quando a densidade for um parâmetro. (I1846e). - Outras anotações para especificar entradas permitidas para elementos combináveis (Ief234).
- Adicione um parâmetro de ícone ao botão segmentado e à semântica dividida para que os botões segmentados possam ser selecionados para implementar a seleção única e alternáveis para implementar a seleção múltipla, com
SelectableSegmentedButtonRow
eToggelableSegmentedButtonRow
, respectivamente. (I38740). - O divisor foi renomeado como
HorizontalDivider
. Adição da funcionalidadeVerticalDivider
(I5975c). - Mudança do uso de
ClosedFloatingPointRange
para oFloatRange
mais leve nas APIs experimentais do Material3 para minimizar o autoboxing (I4aab5). - Adição de um novo alinhamento Start para
FabPosition
(Ib7aea, b/170592777).
Correções de bugs
ModalBottomSheet
respeita a direção do layout local. (Ib4f44, b/285628622).
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 padrão de altura da linha também mudou paraTrim.None
eAlignment.Center
, elineHeight
explícito (em sp) foi adicionado aosTextStyle
s deTypography
Consulte os documentos da API para personalizar esses valores. Confira também a postagem do blog para conferir uma explicação detalhada dessas mudanças. (I6266f, Icabc3).
Novos recursos
- Foi adicionada uma sobrecarga para
RangeSlider
, que é uma versão com estado do componente Criação doRangeSliderState
, que contém todas as informações da faixa ativa no momento, as medidas dos componentes doRangeSlider
e a lógica de arrastar e gestos. (I8c270). - A barra de pesquisa agora oferece suporte a sombras pelo parâmetro
shadowElevation
recém-adicionado (Ia5369, b/271040353). ColorScheme
agora oferece suporte a novas funçõesSurfaceContainer
.- 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 do componente. (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 transferência automática do foco de acessibilidade. (Ie32d8).
- Acessibilidade otimizada para alocações de desempenho e memória. (Iede48).
DefaultSizeClasses
foi exposto e criaStandardSizeClasses
paraWindowSizeClasses
(I91838).- O
WindowWidth/HeightSizeClass
foi mudado para classes de valor flutuante (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 emtopBar
ebottomBar
permanece inalterado quando esses parâmetros são fornecidos. (I08b73, b/264601542). - Corrija o alinhamento da barra superior central de apps para garantir que um título longo não seja renderizado sobre os ícones de ação ou de navegação. (I4369f, b/236994621).
- As posições da guia agora aplicam uma largura mínima de conteúdo de 24.dp Isso fornece uma área de toque acessível para indicadores de guia. (Id8861).
- As paletas de cores dinâmicas de
dynamicLightColorScheme
edynamicDarkColorScheme
agora oferecem suporte a novas funções de superfície. (I1252e). - Atualização do alinhamento da notificação do crachá para não cortar ao colidir com o bisavô. (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
- Foi adicionado um parâmetro de encartes de janela a
ModalBottomSheet
- O Scrim para
ModalBottomSheet
agora pode ser renderizado atrás da barra de status comwindowInsets
definido como zero. - A funcionalidade padrão
ModalBottomSheet
foi atualizada para ficar fora das barras do sistema, incluindo a navegação. - O tratamento do encarte da barra de status é fornecido pela alça de arrastar no modo de borda a borda.
BottomSheetDefaults
inclui encartes de janela paraBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/2618, b/1654b/2754){/31334475.
- O Scrim para
Indicator
foi descontinuado e adicionadoPrimary
/SecondaryIndicator
para corresponder às especificações do M3 A colunaPrimaryIndicator
corresponde à largura do conteúdo da guia, enquantoSecondaryIndicator
abrange a largura total disponível.SecondaryIndicator
é equivalente aoIndicator
descontinuado e pode ser uma substituição direta. (I27604).- Foi adicionada uma opção para transmitir um
ScrollState
ao criar umDropdownMenu
ou umaExposedDropdownMenu
para controlar o estado de rolagem vertical dos itens de menu mostrados (Ia0734, b/185304441). - Foi adicionada uma sobrecarga para
Slider
, que é uma versão com estado do componente Criação doSliderState
, que contém todas as informações da faixa ativa no momento, as medidas dos componentes doSlider
e a lógica de arrastar e gestos. (I124a5). - Renomeação da propriedade semântica
isContainer
paraisTraversalGroup
(I121f6). - Adição de
TextStyle.merge(...)
otimizado com lista completa de parâmetros (Iad234, b/246961787). - As interfaces públicas
TooltipState
,RichTooltipState
ePlainTooltipState
foram implementadasRichTooltipStateImpl
ePlainTooltipStateImpl
foram adicionados para estados padrão Adição das funçõesremember*State
para receber esses estados implementadosTooltipSync
foi removido e substituído por umTooltipDefault.GlobalMutatorMutex
(I7813d). - A
DatePickerColors
foi atualizada para incluir outras opções de personalização para as cores do divisor do seletor de datas, da navegação e dos campos de entrada de texto (I1a685, b/274626815). DatePickerState
eDateRangePickerState
agora são interfaces públicas com implementações padrão que podem ser recuperadas porrememberDatePickerState
erememberDateRangePickerState
(I71c52).- O
dateValidator
foi removido deDatePicker
eDateRangePicker
e introduzimos uma interfaceSelectableDates
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). ModalBottomSheet
movidos apenas para Android. OModalBottomSheet
não é recomendado para uso em computadores, e a funcionalidade não é mantida ativamente. (Ib3778).
Correções de bugs
- Correção da ação de dispensar
AlertDialog
para aparecer abaixo da ação de confirmação, quando as ações empilhadas umas sobre as outras se encaixam na largura da caixa de diálogo Essa correção alinha a implementação às especificações 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 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 do modificador sendo transmitido incorretamente para dois elementos combináveis (b/282761472).
- Correção de
TimePickerState
, que retorna horas incorretas quando inicializado com 23 horas (b/278242122). - Correção do estado inicial de alternância para validação ao meio-dia e minuto. (b/269768197, b/282790635).
- Correção de
state.hour
que retornava 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
- Adição de uma chamada para
ModalBottomSheet
sem o parâmetrowindowInset
para compatibilidade binária (Ib7959). - Foi adicionado um parâmetro de encartes de janela a
ModalBottomSheet
- O Scrim para
ModalBottomSheet
agora pode ser renderizado atrás da barra de status comwindowInsets
definido como zero. - A funcionalidade padrão
ModalBottomSheet
foi atualizada para ficar fora das barras do sistema, incluindo a navegação. - O tratamento do encarte da barra de status é fornecido pela alça de arrastar no modo de borda a borda.
BottomSheetDefaults
inclui encartes de janela paraBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/2618, b/1654b/2754){/31334475.
- O Scrim para
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
- Páginas inferiores
- Seletores de data
- Pesquisa
- SwipeToDismiss
- Seletores de horário
- TimePicker (link em inglês)
- TimeInput
- Dicas
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). ModalBottomSheet
movidos apenas para Android. OModalBottomSheet
não é recomendado para uso em 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âmetroskipHiddenState
opcionalrememberStandardBottomSheetState
agora tem o parâmetroskipHiddenState
opcionalBottomSheetScaffold
agora tem uma âncora oculta definida, embora ela esteja desativada por padrãoSheetState.requireOffset
documentação foi atualizadaBottomSheetDefaults.MinimizedShape
foi renomeado comoBottomSheetDefaults.HiddenShape
(I839f4, b/273870234).
Correções de bugs
- Não alterne o mostrador de hora para minuto quando a exploração por toque estiver ativada. (I717d0).
- A semântica da alça de arrastar
ModalBottomSheet
eBottomSheetScaffold
foi mesclada (I05afb). - O modificador
BottomSheetScaffold
, os parâmetroscontainerColor
econtentColor
agora afetam apenas o conteúdo (I992cb). - O
BottomSheetScaffold nestedScroll
para o conteúdo da página agora implementa deslizes rápidos (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).- A elevação de sombra foi adicionada a
BottomSheetScaffold
(I94e0f). - Foi adicionado suporte à exibição de 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ítulo, título e
showToggleMode = false
nulos para exibir um seletor headless (Id3f3a, b/266132421, b/267194809).
Correções de bugs
- As barras de pesquisa agora limpam o foco automaticamente quando ficam inativas. (I22a7c, b/261444487).
- O
DateRangePicker
foi atualizado 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 em algumas mudanças de pixels nos apps, dependendo das configurações de fonte e do 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
eBottomSheetScaffoldState
. (I063d4).
Mudanças na API
- Foi adicionada uma funcionalidade ao
DatePickerState
e aoDateRangePickerState
para permitir a configuração de datas após a criação inicial do estado, bem como a redefinição de seleções ao definir carimbos de data/hora nulos A definição manual de datas precisa ser feita com cuidado. A nova funçãosetSelection
vai gerar uma exceção se uma data fornecida falhar em uma pré-condição. Consulte a documentação. (Ifa645, b/268609314, b/270427389). - O
SheetValue
recolhido foi renomeado comoPartiallyExpanded
para representar o comportamento com mais precisão e flexibilidade nesse estado (Ia1491). - Atualização dos nomes dos parâmetros
ListItem
para _content em vez de _text Getters padrão agora sãoReadOnlyComposables
quando relevante (I69a25). - Mude as APIs interativas da Surface a partir da fase experimental. (I90d59, b/261561812).
Correções de bugs
- Correção de um problema em que o estado
HalfExpanded
daModalBottomSheet
era calculado incorretamente e a página parecia estar flutuando (I45e84, b/268411386). - Adição da verificação de
confirmValueChange
ao toque scrim paraModalBottomSheet
(I2311a, b/270425759). - As ações semânticas
BottomSheet
foram movidas para a alça de arrastar. (I158ba). - Agora, os comandos
ModalBottomSheet
focam na inicialização e processa o botão "Voltar". (I4d2ab). ModalBottomSheet onDismissRequest
agora também é processado durante movimentos rápidos de rolagem aninhados (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). - Agora é possível personalizar as cores dos campos de texto:
- Cores do texto do campo de entrada e do marcador de posição com base no foco e no estado de erro. O parâmetro
textColor
foi renomeado comounfocusedTextColor
, eplaceholderColor
foi renomeado comounfocusedPlaceholderColor
. - A cor do contêiner para campos de texto preenchidos com base no estado de erro com o novo parâmetro
errorContainerColor
.
- Cores do texto do campo de entrada e do marcador de posição com base no foco e no estado de erro. O parâmetro
- 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
- Reverter algumas versões da API Slider e remover sobrecargas redundantes do controle deslizante que são cobertas pelo novo controle deslizante experimental com faixa e círculo personalizados Promovendo
RangeSlider
para ser estável. (Ie8fbd). defaultElevation
foi renomeado comoelevation
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
eoutlinedTextFieldPadding
(Ieb5c0, b/261561819). - O
TimePickers
is24Hour
usa a configuração do sistema (I18856). - A anotação experimental foi removida das APIs scaffold (Ibb51e, b/261565765, b/261436953).
Correções de bugs
- A forma padrão de
ModalBottomSheet
agora é sempreSheetDefaults.ExpandedShape
(I0dfca). - Melhorias de acessibilidade para
DatePicker
eDateRangePicker
do Material 3. (I5087e). - Correção do bug em que a restrição de altura máxima é propagada e pode falhar. (I30d8c).
- Remoção de papéis semânticos das superfícies clicáveis e selecionáveis, atualização de componentes que os usavam para definir papéis com modificador.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 comTimePickerState
e o método de conveniênciarememberTimePickerState
(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
eModalBottomSheetDefaults
. Também introduzimosSheetState
erememberSheetState
, 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
eListItemColors
para não experimentais (I7e7fa, b/261438882). - Promoção de
SliderPositions
,SliderDefaults.Thumb
eSliderDefaults.Track
para a versão estável e adição das APIsSlider
eRangeSlider
não experimentais contendo faixas e círculos personalizados. Também descontinuamos as APIsSlider
eRangeSlider
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 APIPlainTooltipBox
foi atualizada para não tornar maisTooltipState
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 paraLocalMinimumInteractiveComponentEnforcement
(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
Compose UI
eCompose Material
agora dependem do Lifecycle 2.6.0
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 oandroidx.compose.foundation:1.4.0-alpha04
, talvez você receba um errojava.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 bibliotecasandroidx.compose.material
eandroidx.compose.material3
para a versão mais recente (1.1.0-alpha04) ou faça downgrade doandroidx.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 comoconsumeWindowInsets()
ewithConsumedWindowInsets()
comoonConsumedWindowInsetsChanged()
. 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 umScrollable 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
eCompose 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
ewaitForUpOrCancellation
agora aceitam umPointerEventPass
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
eOutlinedTextField
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çãotopAppBarColors
que precisa ser usada ao criar umaTopAppBar
(Ie6cb9). - Foi adicionado o parâmetro
minLines
aBasicText
eBasicTextField
. 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
eIconToggleBotton
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
- Selo
- Barra de apps na parte de baixo da tela
- Botões
- FAB e FAB estendido
- Cards
- Caixa de seleção
- Ícones
- Caixas de diálogo
- Separador
- Menu suspenso
- Lista
- Barra de navegação
- Gaveta de navegação
- Coluna de navegação
- Indicador de progresso
- Botão de opção
- Controle deslizante
- Chave
- Guias
- Campos de texto
- Barra superior do app
- Ícone
- Texto
- Superfície
- Layout
- Cor do conteúdo
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 acalculateWindowSizeClass
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 deWindowSizeClass
.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 modificadorModifier.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çãoTopAppBar
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
eNavigationRail
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
eBadgedBox
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 deMenuDefaults
eTabDefaults
(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
eElevatedFilterChip
foram atualizadas para remover o slotselectedIcon
e promover a reutilização doleadingIcon
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
eListItemColors
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çãoCheckbox
(I5eefc). - A anotação
@ExperimentalMaterial3Api
foi removida da funçãoRadioButton
(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 deFilterChip
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
eWindowHeightSizeClass
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
eInputChip
no Material3 (I0d25a). - Foi adicionado suporte para
FilterChip
eSuggestionChip
no Material3 (I9fdf3).
Mudanças na API
- O elemento combinável
TextFieldDefaults.BorderStroke
que desenha um traço de borda emOutlinedTextField
foi renomeado comoTextFieldDefaults.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 acalculateWindowSizeClass
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 deWindowSizeClass
. 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 deBottomAppBar
com o FAB foi removida (I92c47). - Foram adicionados os elementos
FilledIconButton
,FilledTonalIconButton
eOutlinedIconButton
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
. Useconsume()
para consumir a mudança completamente. Você pode usarisConsumed
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 dePointerInputChange
for consumida, todas as outras também serão. Se você quiser criar umaPointerInputChange
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 comocontainerColor
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
- Foi adicionado suporte aos campos de texto do Material 3 (I795cc, b/199377790).
Mudanças na API
- O divisor padrão foi incluído no menu (I01374).
- O parâmetro de cor
surfaceTint
foi adicionado à classeColorScheme
(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
eLazyHorizontalGrid
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 deViewCompat.getWindowInsetsController
foi descontinuado e substituído porWindowCompat.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
eDismissibleNavigationDrawer
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 comoModalNavigationDrawer
(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 aFloatingActionButtonDefaults
(Ia71cf). - Um bug em que botões da
AlertDialog
ficavam ocultos quando um texto longo era adicionado com umaLazyColumn
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
- Menu suspenso
- Cards
Mudanças na API
- A função
Surface
, que recebe um callback onClick, foi descontinuada. As superfícies clicáveis precisam ser criadas com umaInteractionSource
e umModifier.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
- Adição da
LocalIndication
aoMaterialTheme
do Material 3 (I7ce4e). - Correção do raio dos cantos aplicado às caixas de seleção (I38b03, b/175198975, b/202309440).
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
decompose.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
- Botões
- FAB e FAB estendido
- Caixas de diálogo
- Barra de navegação
- Gaveta de navegação
- Coluna de navegação
- Barra superior do app
- Selo
- Ícone
- Texto
- Superfície
- Layout
- Cor do conteúdo
Para ver mais informações, consulte a seção Material Design 3 e Material You no guia Temas do Material Design no Compose.