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 corsystem_accent3_0
análoga à corsystem_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?
Há cinco paletas de tons:
Cada paleta tonal tem 13 valores de cor que terminam nos índices 0, 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900 e 1000.
A API resultante é uma combinação do nome da paleta tonal, que termina no índice. Por exemplo:
R.color#system_accent1_10
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
.