El diseño de Material You se lanzó con la versión de Android 12 y se expandió con Android 13.
En esta página, se explican las actualizaciones de la lógica de Material You para ayudarte a integrar una mejor compatibilidad con el color dinámico.
Paletas tonales de color dinámico
A partir de Android 12, se admiten las siguientes paletas de tonos de color dinámico:
Cada uno de ellos consta de un conjunto de 13 colores con varios valores de luminancia definidos, como se describe en R.color, pero con valores de tono y croma indefinidos que el sistema Android puede generar de forma dinámica en el tiempo de ejecución.
Estilos de temas para el color dinámico
A partir de Android 13, se admiten seis estilos de temas diferentes con variaciones en el algoritmo de color dinámico que satisfacen las necesidades de los desarrolladores y las expectativas de contraste. A continuación, se indican los valores que se usan para generar los 65 colores dinámicos que usan las apps:
TONAL_SPOTes una paleta de vibración media que usa un colorsystem_accent3_0análogo al colorsystem_accent1_0(se transfirió de la versión de Android 12 y se ajustó ligeramente).VIBRANTes una paleta de alta intensidad que combina de forma armoniosa cambios sutiles entre los colores.EXPRESSIVEes una paleta de alta intensidad que combina colores de acento inesperados y únicos.SPRITZes una paleta de baja intensidad que crea un lavado suave entre los colores.RAINBOWusa acentos cromáticos y superficies neutras para crear una experiencia de color más sutil para los usuarios.- NO SE RECOMIENDA usar este método con la extracción de color basada en el fondo de pantalla, sino que se debe usar con temas de color estáticos.
FRUIT_SALADproporciona colores de dos tonos para brindarles más expresión a los usuarios.- NO SE RECOMIENDA usar este método con la extracción de color basada en el fondo de pantalla, sino que se debe usar con temas de color estáticos.
El tema del sistema se basa en el mismo parámetro de configuración que en Android 12, que es Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES. En Android 13, solo se requiere una clave en su JSON que envíe el color de origen para generar las 65 paletas de colores:
{
"android.theme.customization.system_palette":"746BC1"
}
El estilo de tema predeterminado es TONAL_SPOT, pero, de manera opcional, puedes especificar uno de los otros estilos de tema con una clave adicional en el JSON anterior:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Cómo integrar el color dinámico
Para obtener instrucciones sobre cómo integrar el color dinámico, consulta Integración del diseño de Material You.
Preguntas frecuentes
¿Qué incluye la API de paleta de tonos dinámica?
Existen cinco paletas tonales:
Cada paleta tonal tiene 13 valores de color que terminan en los índices 0, 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900 y 1, 000.
La API resultante es una combinación del nombre de la paleta de tonos, que termina en el índice. Por ejemplo:
R.color#system_accent1_10
¿Cómo se genera una paleta tonal dinámica?
Se debe generar una paleta tonal dinámica a partir de un solo color fuente que se debe derivar del fondo de pantalla con com.android.systemui.monet.ColorScheme#getSeedColors, que proporciona varios colores fuente válidos. Si ninguno de los colores proporcionados cumple con el requisito de color de origen, el color de origen único debe usar el valor 0xFF1B6EF3.