Cores dinâmicas

O design Material You foi lançado com a versão do Android 12 e expandido com o Android 13.

Esta página se concentra nas atualizações da lógica do Material You para ajudar na integração com suporte mais rico para cores dinâmicas.

Paletas de cores dinâmicas

A partir do Android 12, as seguintes paletas de tons de cores dinâmicas são compatíveis:

Cada um deles é composto por um conjunto de 13 cores com vários valores de luminância definidos, conforme descrito em R.color, mas com valores de matiz e croma indefinidos que podem ser gerados dinamicamente pelo sistema Android no momento da execução.

Estilos de tema para cores dinâmicas

A partir do Android 13, seis estilos de tema diferentes são compatíveis com variações no algoritmo de cores dinâmicas que mantêm as necessidades e expectativas de contraste do desenvolvedor. Eles estão listados para gerar as 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 (transferida da versão do Android 12 e ligeiramente ajustada).
  • VIBRANT é uma paleta de alta vibração que mistura harmoniosamente a mudança sutil entre as cores.
  • EXPRESSIVE é uma paleta de alta vibração que combina cores de destaque inesperadas e únicas.
  • SPRITZ é uma paleta de baixa vibração que cria uma lavagem suave entre as cores.
  • O RAINBOW usa tons cromáticos e superfícies neutras para criar uma experiência de cores mais sutil para os usuários.
    • NÃO É RECOMENDÁVEL usar esse método com a extração de cores baseada em plano de fundo. Em vez disso, use temas de cores estáticos.
  • FRUIT_SALAD oferece duas cores de tom para dar mais expressão aos usuários.
    • NÃO É RECOMENDÁVEL usar esse método com a extração de cores baseada em plano de fundo. Em vez disso, use temas de cores estáticos.

O tema do sistema é controlado pela mesma configuração do Android 12, que é Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES. Para o Android 13, é necessária apenas uma chave no JSON que envie 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 você pode especificar um dos outros estilos de tema com uma chave adicional com o JSON acima:

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

Como integrar cores dinâmicas

Para conferir diretrizes sobre a integração de cores dinâmicas, consulte Como integrar o Material You Design.

Perguntas frequentes

O que a API dinâmica de paleta tonal inclui?

Como uma paleta tonal dinâmica é gerada?

Uma paleta tonal dinâmica precisa ser gerada a partir de uma única cor de origem que precisa ser derivada do plano de fundo usando com.android.systemui.monet.ColorScheme#getSeedColors, que fornece várias cores de origem válidas. Se nenhuma das cores fornecidas atender ao requisito de cor de origem, a cor de origem única precisará usar o valor 0xFF1B6EF3.