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 | Candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
8 de fevereiro de 2023 | 1.0.1 | - | - | 1.1.0-alpha06 |
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 IU 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.0.1" implementation "androidx.compose.material3:material3-window-size-class:1.0.1" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.0.1") implementation("androidx.compose.material3:material3-window-size-class:1.0.1") } 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.
Versão 1.1
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
.
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 IU 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
- Indicação no ícone
- Barra de apps de baixo
- 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
- Interruptor
- Guias
- Campos de texto
- Barra de apps de cima
- Í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 IU 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 de composição
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 IU 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 de apps de cima
- Ícone
- Í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.