Apps nativos
Android
No Android, o design system veste o app nativo em Jetpack Compose com Material 3: os componentes, a navegação e os comportamentos são os do Material. O design system troca o esquema de cores, as fontes, as formas e o conteúdo.
#Cor
Sem cor dinâmica. Não use
dynamicLightColorScheme/dynamicDarkColorScheme: a cor vinda do papel de parede apagaria a identidade.Monte o
ColorSchemecom os tokens. Para cada papel do Material, use o valor de tokens.md no tema claro e no escuro:Papel do Material Token primary,inversePrimary(escuro)inkonPrimarypaperprimaryContainersunkenonPrimaryContainerinksecondary,tertiaryinkonSecondary,onTertiarypapersecondaryContainer(indicador da aba ativa)inkonSecondaryContainerpaperbackground,surfacepapersurfaceContainer*(todos os tons)papersurfaceVariantsunkenonBackground,onSurfaceinkonSurfaceVariantink-mutedoutlinerule-strongoutlineVariantruleerrordangeronErrorpapererrorContainerdanger-washonErrorContainerdangersurfaceTinttransparente (sem tom de elevação) Os tons de
surfaceContainerficam todos iguais apaper. O Material separa por tom; aqui, separe por fio (HorizontalDivideremrule).warneoknão existem no Material: exponha-os numCompositionLocalpróprio (por exemplo,LocalSignals) e use-os só em avisos e estados.
#Forma e elevação
Shapes:- controles em
CircleShape(pílula); small8 (radius-inner),medium10 (radius-row),large14 (radius-block);- folhas com o raio do Material.
- controles em
- Sem sombra e sem tom de elevação no conteúdo. Cartões viram linhas com fio (
ListItem+HorizontalDivider), nãoElevatedCard. Menus e diálogos mantêm a elevação do Material.
#Tipografia
Fontes em
res/font: Schibsted Grotesk e Source Serif 4 (variáveis ou nos pesos 400, 600, 650 e 700), emFontFamily.Typographydo Material a partir da escala, emsp(acompanha o tamanho de fonte do sistema):Material Design system displayLargeherodisplayMediumdisplay(capa)headlineLargeheadlineheadlineSmalltext-xltitleLargetext-lgtitleMediumtext-mdtitleSmalltitlebodyLargetext-basebodyMedium,labelLargetext-smlabelMedium,labelSmalltext-xsEspaçamento:
letterSpacingemem, negativo só nos grandes.Números em coluna:
fontFeatureSettings = "tnum".
#Componentes
| Design system | Compose (Material 3) |
|---|---|
| Botão principal | Button (primary = tinta) |
| Botão secundário | OutlinedButton (borda outline) |
| Botão discreto | TextButton |
| Segmented | SingleChoiceSegmentedButtonRow |
| Filtro | FilterChip: selecionado fica invertido |
| Busca | SearchBar / DockedSearchBar |
| Linha de lista | ListItem + HorizontalDivider |
| Aviso | Superfície própria com *-wash e texto na cor do sinal (não Snackbar para avisos que ficam) |
| Navegação | NavigationBar (celular), NavigationRail / NavigationSuiteScaffold (tablet e janelas largas) |
O indicador da aba ativa fica em tinta (secondaryContainer = ink), com o ícone em paper.
#Ícones
Material Symbols Outlined, peso 300 a 400, na cor do texto. Sem a variante Filled colorida.
#Comportamentos nativos
- Edge-to-edge: o app desenha sob as barras do sistema. Respeite os insets.
- Voltar preditivo e gestos do sistema: não substitua.
- Ícone do app: ícone adaptativo e o monocromático para o tema do sistema.
- Texto: o tamanho de fonte do sistema escala o texto; teste em 200%.
#Conferir
- Sem cor dinâmica;
primaryem tinta; nenhum tom desurfaceContainerdiferente depaper. - Sem
ElevatedCardno conteúdo; linhas com fio. - Fontes do design system em toda a
Typography. - Claro, escuro, texto em alto contraste e fonte em 200%.
- Toque de 48×48 e TalkBack lendo todo controle.