Cores dinâmicas

O Material You design foi lançado com o Android 12 e foi lançada com o Android 13.

Esta página se concentra nas atualizações da lógica do Material You para ajudar você a se integrar com suporte a cores dinâmicas mais avançadas.

Paletas de tons de cores dinâmicas

No Android 12 e versões mais recentes, a cor dinâmica abaixo as paletas de tons são compatíveis:

Cada uma delas é composta por um conjunto de 13 cores com níveis de luminância definidos conforme descrito em R.color, mas com valores de matiz e chroma indefinidos que podem ser gerados dinamicamente por o sistema Android durante a execução.

Estilos de tema para cores dinâmicas

No Android 13 e versões mais recentes, há seis estilos de tema diferentes têm suporte com variações do algoritmo de cores dinâmicas que mantêm as necessidades do desenvolvedor e contrastar as expectativas. Elas são listadas para gerar 65 cores dinâmicas usadas pelos apps:

  • TONAL_SPOT é uma paleta de vibração média que usa uma cor system_accent3_0 análoga à cor system_accent1_0, transmitida do Android 12 e levemente ajustada).
  • A VIBRANT é uma paleta vibrante que combina harmoniosamente mudanças sutis entre as cores.
  • A EXPRESSIVE é uma paleta vibrante que combina elementos inesperados e exclusivos acentua as cores.
  • SPRITZ é uma paleta de baixa vibração que cria um tom suave entre as cores.
  • RAINBOW usa tons cromáticos e superfícies neutras para criar um visual mais uma experiência de cores sutil para os usuários.
    • NÃO RECOMENDADO para usar com cores baseadas em plano de fundo e deve ser usada com temas de cores estáticas.
  • A FRUIT_SALAD oferece duas cores de tons para dar mais expressão aos usuários.
    • NÃO RECOMENDADO para usar com cores baseadas em plano de fundo e deve ser usada com temas de cores estáticas.

O tema do sistema é orientado pela mesma configuração do Android 12, que é Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES. Para Android 13, é necessária apenas uma chave no JSON que envia a cor de origem para gerar as 65 paletas de cores:

{
    "android.theme.customization.system_palette":"746BC1"
}

O estilo de tema padrão é TONAL_SPOT, mas é possível especificar opcionalmente um dos os outros estilos de tema com uma chave extra com o JSON acima:

{
    "android.theme.customization.system_palette":"746BC1"
    "android.theme.customization.theme_style":"EXPRESSIVE"
}

Integração de cores dinâmicas

Para orientações sobre como integrar cores dinâmicas, consulte Como integrar o Material You design.

Perguntas frequentes

O que a API de paleta de tons dinâmicos inclui?

Como uma paleta de tons dinâmica é gerada?

Uma paleta de tons dinâmica precisa ser gerada a partir de uma única cor de origem que precisa ser derivadas de planos de fundo usando com.android.systemui.monet.ColorScheme#getSeedColors, que fornece várias cores de origem válidas. Se nenhuma das cores fornecidas corresponder à cor de origem requisito, a cor de origem única precisa usar o valor 0xFF1B6EF3.