Google udostępnia bibliotekę Material Color Utilities, próbując udostępnić dynamiczne motywy oparte na tapetach na większej liczbie platform.
Google poważnie podchodzi do dynamicznego systemu motywów Material You. Firma najwyraźniej chce więcej producentów OEM Androida oferujących silnik motywów (Moneta lub coś podobnego) NA Androida 12 urządzeń, ale nie wydaje się, aby taki był zakres planów Google dotyczących systemu motywów opartych na tapetach. Firma udostępniła obecnie bibliotekę kodów Material Color Utilities na zasadach open source, starając się wprowadzić nowy system motywów na większą liczbę platform.
W niedawnym poście na blogu (via 9to5Google), James O'Leary z Google ujawnia, że Material Color Utilities to wieloplatformowa biblioteka kodów kolorów, która zawiera wszystko, czego programiści potrzebowaliby do wdrożenia dynamicznego systemu motywów Material You na różnych platformach. Obecnie biblioteka jest dostępna w językach Dart, Java i Typescript, ale Google planuje udostępnić ją na iOS, CSS za pośrednictwem shaderów SASS i GLSL. Biorąc pod uwagę, że jest to biblioteka typu open source, każdy może współtworzyć bibliotekę.
Ponadto post na blogu rzuca światło na dokładne działanie systemu dynamicznych motywów w systemie Android 12. Jak wyjaśniono w poście, za każdym razem, gdy zmieniasz tapety na urządzeniu z Androidem 12:
„Najpierw tapetę poddaje się kwantyzacji, redukując znajdujące się w niej tysiące kolorów do mniejszej liczby, łącząc je w przestrzeni barw. Zredukowany zestaw kolorów jest wystarczająco mały, aby skutecznie wykonywać algorytmy statystyczne. Algorytmy te służą do oceniania i filtrowania kolorów; Android 12 udostępnia opcje kolorów określające kolorowość i stopień przedstawiania obrazu, a także odfiltrowuje kolory zbliżone do monochromatycznych.
Kolorem źródłowym staje się jeden kolor, domyślnie najwyżej oceniony przez algorytm lub wybrany przez użytkownika w selektorze tapet. Jego odcień i nasycenie wpływają na ogólną kolorystykę, umożliwiając uzyskanie żywego niebieskiego lub stonowanego zielonego, w zależności od koloru wybranego przez użytkownika.
Korzystając z koloru źródłowego, tworzymy paletę rdzeniową, czyli zestaw 5 palet tonalnych. Paletę tonalną definiuje odcień i nasycenie; kolory w palecie pochodzą z różnych tonów. Te palety tonalne zmniejszają obciążenie poznawcze projektantów podczas tworzenia systemu projektowego: zamiast określać odcień i nasycenie dla każdej roli, można zastąpić paletę tonalną.
Na koniec wypełniamy tabelę definiującą nasycenie barwy i ton każdej roli koloru, a następnie używamy tych wartości i HCT, aby utworzyć kolory użyte w motywie.
Co więcej, w poście na blogu podkreślono, jak Google wymyślił nowy kolor HCT (odcień, chroma, ton). system zastępujący dotychczasowy system HSL (odcień, nasycenie, jasność) umożliwiający projektowanie za pomocą kolorów łatwiej. Więcej informacji na temat tego nowego systemu kolorów można znaleźć w witrynie oryginalny wpis na blogu.