Android 12s dynamiske tema kan komme til flere plattformer

Google slipper Material Color Utilities-biblioteket i et forsøk på å bringe bakgrunnsbasert dynamisk tema til flere plattformer.

Google er seriøs med Material You sitt dynamiske temasystem. Selskapet ønsker tydeligvis flere Android OEM-er for å tilby en temamotor (Monet, eller noe lignende) på Android 12 enheter, men det ser ikke ut til å være omfanget av Googles planer for sitt bakgrunnsbaserte temasystem. Selskapet har nå åpnet kodebiblioteket Material Color Utilities i et forsøk på å bringe det nye temasystemet til flere plattformer.

I et nylig blogginnlegg (via 9to5Google), avslører Googles James O'Leary at Material Color Utilities er et kodebibliotek på tvers av plattformer for farger, som inkluderer alt utviklere trenger for å implementere Material Yous dynamiske temasystem på ulike plattformer. Foreløpig er biblioteket tilgjengelig i Dart, Java og Typescript, men Google planlegger å bringe det til iOS, CSS via SASS og GLSL shaders. Gitt at det er åpen kildekode, kan hvem som helst bidra til biblioteket.

I tillegg belyser blogginnlegget nøyaktig hvordan det dynamiske temasystemet fungerer på Android 12. Som innlegget forklarer, hver gang du endrer bakgrunnsbilder på en Android 12-enhet:

"Først kvantiseres tapetet, og reduserer tusenvis av farger i det til et mindre antall ved å slå dem sammen i fargerom. Det reduserte fargesettet er lite nok til å kjøre statistiske algoritmer mot med effektivitet. Disse algoritmene brukes til å score og filtrere farger; Android 12 gir fargealternativer for fargerikhet og hvor mye bildet de representerer, og den filtrerer ut farger nær monokrome.

Én farge, som som standard er den topprangerte fargen av algoritmen, eller valgt av brukeren i bakgrunnsvelgeren, blir kildefargen. Nyansen og fargen påvirker det generelle fargeskjemaet, og muliggjør et levende blått skjema, eller et dempet grønt, basert på brukerens valg av farge.

Ved å bruke kildefargen lager vi kjernepaletten, som er et sett med 5 tonale paletter. En tonepalett er definert av en fargetone og fargetone; fargene i paletten kommer fra varierende toner. Disse tonepalettene reduserer kognitiv belastning for designere når de lager et designsystem: i stedet for å spesifisere fargetone og fargetone for hver rolle, kan en tonepalett erstattes.

Til slutt fyller vi ut tabellen som definerer fargetone og tone for hver fargerolle, og bruker deretter disse verdiene og HCT for å lage fargene som brukes i temaet."

Videre fremhever blogginnlegget hvordan Google kom opp med en ny HCT (hue, chroma, tone) farge system for å erstatte det eksisterende HSL-systemet (nyanse, metning, lyshet) for å lage design med farger lettere. Du kan lære mer om dette nye fargesystemet ved å sjekke ut originalt blogginnlegg.