O Google lança a biblioteca Material Color Utilities em uma tentativa de trazer temas dinâmicos baseados em papel de parede para mais plataformas.
O Google leva a sério o sistema de temas dinâmicos do Material You. A empresa evidentemente quer mais OEMs Android para oferecer um mecanismo de temas (Monet, ou algo semelhante) sobre Andróide 12 dispositivos, mas essa não parece ser a extensão dos planos do Google para seu sistema de temas baseado em papel de parede. A empresa agora abriu o código-fonte da biblioteca de códigos Material Color Utilities em um esforço para levar o novo sistema de temas para mais plataformas.
Em uma postagem recente no blog (via 9to5Google), James O'Leary, do Google, revela que Material Color Utilities é uma biblioteca de código de plataforma cruzada para cores, que inclui tudo o que os desenvolvedores precisam para implementar o sistema de temas dinâmicos do Material You em várias plataformas. Atualmente, a biblioteca está disponível em Dart, Java e Typescript, mas o Google planeja trazê-la para iOS, CSS via SASS e shaders GLSL. Por ser de código aberto, qualquer pessoa pode contribuir com a biblioteca.
Além disso, a postagem do blog esclarece exatamente como o sistema de temas dinâmicos funciona no Android 12. Conforme explica a postagem, cada vez que você altera os papéis de parede em um dispositivo Android 12:
"Primeiro, o papel de parede é quantizado, reduzindo as milhares de cores contidas nele a um número menor, mesclando-as no espaço de cores. O conjunto de cores reduzido é pequeno o suficiente para executar algoritmos estatísticos com eficiência. Esses algoritmos são usados para pontuar e filtrar cores; O Android 12 oferece opções de cores para o colorido e o quanto a imagem elas representam, e filtra cores próximas do monocromático.
Uma cor, padronizada como a cor mais bem classificada pelo algoritmo ou escolhida pelo usuário no seletor de papel de parede, torna-se a cor de origem. Seu matiz e croma influenciam o esquema geral de cores, permitindo um esquema de azul vibrante ou verde suave, com base na escolha de cor do usuário.
Usando a cor de origem, criamos a paleta central, que é um conjunto de 5 paletas de tons. Uma paleta tonal é definida por matiz e croma; as cores da paleta vêm de tons variados. Essas paletas tonais reduzem a carga cognitiva dos designers ao criar um sistema de design: em vez de especificar matiz e croma para cada função, uma paleta tonal pode ser substituída.
Por fim, preenchemos a tabela que define o matiz, croma e tom de cada função de cor, depois utilizamos esses valores e o HCT para criar as cores utilizadas no tema."
Além disso, a postagem do blog destaca como o Google criou uma nova cor HCT (matiz, croma, tom) sistema para substituir o sistema HSL (matiz, saturação, luminosidade) existente para tornar o design com cores mais fácil. Você pode aprender mais sobre esse novo sistema de cores conferindo o postagem original do blog.