El motor de temas Monet de Material You es lo más destacado de Android 12, y así es como funciona

click fraud protection

Material You de Google no es tan complicado de entender, aunque no hay mucha información en un solo lugar. ¡Compruébalo aquí!

enlaces rápidos

  • Cómo funciona el motor de temas de Monet
  • ¿Qué pasó con las superposiciones de recursos en tiempo de ejecución (RRO)?
  • Material You sigue mejorando
  • Cambios en Android 13

Con diferencia, el mayor cambio en androide 12 es material usted, la última versión del lenguaje de diseño de materiales de Google. Material Usted, como describe Google, “busca crear diseños personales para cada estilo, accesibles para cada necesidad, vivos y adaptables a cada pantalla.” Al desarrollar Android 12, Google creó un nuevo motor de temas con el nombre en código “monet” que genera una rica paleta de colores pastel. derivado del fondo de pantalla del usuario. Estos colores luego se aplican a varias partes del sistema y sus valores están disponibles a través de un API a la que las aplicaciones del usuario pueden llamar, permitiendo así que las aplicaciones decidan si también quieren cambiar el color de su Interfaz de usuario. Google ha apostado por Material You y la compañía ha actualizado la mayoría de sus aplicaciones para incorporar colores dinámicos.

Para un curso intensivo sobre la historia de Material Design, se lanzó por primera vez con Android 5 Lollipop, con un enfoque inherente en la experiencia del usuario. Como google lo pone, "El material es un sistema adaptable de pautas, componentes y herramientas que respaldan las mejores prácticas de diseño de interfaz de usuario". Presentaba paletas de colores pastel planos, profundidad, iluminación suave y realista. física. Android 9 Pie vio la llegada de Material Design 2, aunque no fue una revisión visual tan grande como lo fue la primera iteración de Material Design. Android 12 vio el lanzamiento de Diseño de materiales 3, que es una revisión más significativa.

Sin embargo, si quitamos el motor de temas de color, Material You no es realmente eso diferente. De hecho, el elemento personal denotado por el "Tú" desaparece más o menos por completo.

Cómo funciona el motor de temas de Monet

El motor de temas "monet" es donde ocurre la magia cuando se trata de Material You, y es el algoritmo el que decide qué colores se seleccionan de un fondo de pantalla. Se agregó “Monet” a AOSP en Android 12L. Los desarrolladores de ROM personalizados también pueden implementar esto Implementación de código abierto de “monet”. Los desarrolladores de aplicaciones de terceros son gratuitos para agregar soporte para colores dinámicos en este momento, incluso si actualmente solo funcionará en una cantidad limitada de dispositivos.

La primera pregunta que estoy seguro que la mayoría de la gente tiene sobre Material You es cómo se las arregla para seleccionar colores que funcionen juntos y contrasten bien en todo momento. He probado innumerables fondos de pantalla con la intención de romper el algoritmo de selección de colores, pero ninguno ha logrado hacerlo. Todavía elige colores que funcionan juntos en todo momento, lo cual es una hazaña impresionante, por decir lo menos. Para tener una idea de cómo funciona el algoritmo de selección de color de Android 12, uno de los dos huevos de Pascua viene en forma de widget que puede agregar a su escritorio. El widget muestra todos los colores seleccionados por Monet y puedes tocarlo para verlo en pantalla completa. Cuando esté en pantalla completa, puedes tocar un color para compartirlo. Cuando lo compartes, el resultado se parece al siguiente:

A1-600 (@android:color/system_accent1_600)
currently: #626200

Cuando un usuario cambia su fondo de pantalla en un dispositivo Android 12, la imagen se analiza para seleccionar un color y elija algorítmicamente los colores primario, secundario, terciario y de error utilizando una semilla inicial color. También se eligen dos colores neutros que le dan a Material You su matiz general. Al mismo tiempo, aplica la teoría del color y las reglas de accesibilidad. A partir de estos colores, el algoritmo crea paletas tonales que van desde el 0% de luminancia (NEGRO) hasta el 100% (BLANCO). La temática dinámica o la temática personalizada utiliza valores en estas paletas tonales para establecer los atributos del tema para esa gama de colores. Extrae hasta 128 colores del papel tapiz al espacio de color CIELAB como intermediario, luego esos colores se asignado a CAM16. El CAM16 Color aapariencia metromodelo se utiliza para ordenar y filtrar los colores para determinar el color de semilla real, y luego se generan paletas usando ese color de semilla. Luego, esos colores se asignan nuevamente a RGB para configurar los colores en todo el sistema.

A veces también se hace referencia a CIELAB como "L*a*b*". L* para el brillo/luminosidad percibido, y a* y b* para los cuatro colores únicos de la visión humana: rojo, verde, azul y amarillo. La luminosidad se utiliza para calcular la relación de contraste, garantizando la legibilidad. Una vez aplicado, obtienes todos los bonitos colores de todo el sistema que se pueden implementar en la interfaz de usuario del sistema, las aplicaciones y más.

¿Qué pasó con las superposiciones de recursos en tiempo de ejecución (RRO)?

Los RRO no han desaparecido y Material You funciona a través de la API de superposiciones fabricadas. En el pasado, hemos hablado de cómo se pueden utilizar las superposiciones fabricadas para recuperar la temática desarraigada. Las superposiciones fabricadas son una nueva incorporación a Android 12 y funcionan de manera ligeramente diferente a las RRO. Por un lado, las RRO funciona a través de un APK de superposición instalado en un dispositivo, mientras que una superposición fabricada simplemente le dice a una aplicación qué colores usar. usar.

Las superposiciones fabricadas también son un poco más limitadas que las RRO. Antes de Android 11, los RRO podían anula prácticamente cualquier recurso: valores booleanos, enteros, dimensiones, atributos, diseños e incluso sin formato. archivos de información. Android 11 realizó algunos cambios en el funcionamiento de los RRO, lo que hizo que los diseños anulados ya no fueran factibles. Las superposiciones fabricadas, por otro lado, solo pueden anular valores que pueden representarse como números enteros. Eso incluye números enteros, dimensiones, valores booleanos y colores. No puede usarlos para anular recursos de datos sin procesar, diseños, cadenas o matrices, al menos no fácilmente.

Aún así, estas limitaciones realmente no importan cuando se trata de Material You y Monet. Las superposiciones fabricadas facilitan que el sistema aplique superposiciones de color y dimensiones sobre la marcha, sin esperar a que se compile un APK o que el sistema se reinicie para aplicarlo.

Material You sigue mejorando

Los colores dinámicos de Material You ciertamente no están exentos de problemas, y no es tan difícil romperlos fundamentalmente. Si cambia su fondo de pantalla rápidamente, por ejemplo, puede instituir efectivamente un ataque de denegación de servicio. Mishaal Rahman Ha confirmado que este ataque de denegación de servicio se solucionó en Android 12L. Espero sinceramente que Material You mejore en futuras versiones, ya que si bien me encanta y su concepto, necesita mucho trabajo. Desde mi propia experiencia personal, siento que sus errores son en parte la razón por la que no se ha agregado a AOSP... eso, y el hecho de que Google efectivamente lo convirtió en una exclusiva cronometrada para la serie Pixel. Incluso me encontré con un problema recientemente después de actualizar al parche de diciembre de Android 13 en mi Google Pixel 7. Pro, que más tarde descubrí en el logcat como causado por Material You y Google Pixel lanzacohetes.

Molesto, Android 12 eliminó opciones de fuentes personalizadas e íconos personalizados a favor de la temática dinámica de Material You. El sistema de temas se introdujo por primera vez con la aplicación Pixel Themes y se basó en el marco de temas basado en superposiciones de Android. Si bien el sistema de temas Material You de Android 12 es más personalizable, no presenta los estilos personalizados que Google introdujo en Android 10. en un comentario En Google Issue Tracker, un empleado de Google dio el siguiente razonamiento para su eliminación:

“Las características de estilo personalizado (fuente, forma de ícono, paquete de íconos y color de acento) en R están siendo reemplazadas por la nueva característica de tema dinámico que estamos introduciendo en S. Consideramos que la nueva función de tematización dinámica es más moderna e inteligente. Una experiencia sencilla y agradable que esperamos que todos los usuarios puedan disfrutar”.

Parece poco probable que Google vuelva a introducir fuentes y opciones de íconos personalizados en el futuro. Muchos usuarios han expresado su decepción por los cambios en Material You de Google y, dado lo roto que puede estar, entiendo completamente por qué. Tenemos la esperanza de que Google mejore su implementación o que otros fabricantes de equipos originales no caen en las mismas trampas en sus implementaciones que tiene Google.

Cambios en Android 13

Google mejoró en Material You para la liberación de androide 13, y una de las primeras mejoras fue la adición de cinco estilos de color adicionales. Estos nuevos estilos de color se llaman TONAL_SPOT, VIBRANT, EXPRESSIVE, SPRITZ, RAINBOW y FRUIT_SALAD. Hemos tomado capturas de pantalla y las mostramos a continuación.

  • TONAL_SPOT: Material predeterminado Tus colores
  • VIBRANTE: Genera una paleta más tonal con matices ligeramente variables y colores secundarios y de fondo más coloridos.
  • EXPRESIVO: Genera una paleta con múltiples tonos prominentes que son más coloridos que VIBRANTE.
  • SPRITZ: Genera una paleta de colores más tenues

Android 13 también introdujo la capacidad para que los desarrolladores tengan íconos de aplicaciones temáticos, para que puedan adoptar el tema del sistema. Los desarrolladores pueden respaldar esto proporcionando un ícono adaptable y un ícono de aplicación monocromático en sus aplicaciones. Sin embargo, el iniciador aún necesita admitir íconos temáticos, como el iniciador de Google Pixel.


Gracias al miembro senior de XDA kdrag0n, desarrollador de ProtonAOSP y una recreación del sistema temático Material You, por su ayuda en este artículo.