Het dynamische thema van Android 12 zou naar meer platforms kunnen komen

Google brengt de Material Color Utilities-bibliotheek uit in een poging om op achtergronden gebaseerde dynamische thema's naar meer platforms te brengen.

Google is serieus met het dynamische themasysteem van Material You. Het bedrijf wil dat blijkbaar meer Android-OEM's gaan een thema-engine aanbieden (Monet, of iets dergelijks) op Androïde 12 apparaten, maar dat lijkt niet de omvang te zijn van de plannen van Google voor zijn op achtergronden gebaseerde themasysteem. Het bedrijf heeft nu de codebibliotheek Material Color Utilities open source gemaakt in een poging het nieuwe themasysteem naar meer platforms te brengen.

In een recente blogpost (via 9to5Google), onthult James O'Leary van Google dat Material Color Utilities een platformonafhankelijke codebibliotheek voor kleur is, die bevat alles wat ontwikkelaars nodig hebben om het dynamische themasysteem van Material You op verschillende platforms te implementeren. Momenteel is de bibliotheek beschikbaar in Dart, Java en Typescript, maar Google is van plan deze naar iOS, CSS via SASS en GLSL-shaders te brengen. Omdat het open source is, kan iedereen bijdragen aan de bibliotheek.

Bovendien werpt de blogpost licht op hoe het dynamische themasysteem precies werkt op Android 12. Zoals het bericht uitlegt, geldt het volgende elke keer dat je de achtergrond op een Android 12-apparaat wijzigt:

"Eerst wordt het behang gekwantiseerd, waarbij de duizenden kleuren erin tot een kleiner aantal worden teruggebracht door ze samen te voegen in de kleurruimte. De beperkte kleurenset is klein genoeg om statistische algoritmen efficiënt uit te voeren. Deze algoritmen worden gebruikt om kleuren te scoren en te filteren; Android 12 geeft kleuropties voor kleurrijkheid en hoeveel de afbeelding ze vertegenwoordigen, en filtert kleuren uit die bijna monochroom zijn.

Eén kleur, die standaard de hoogst gerangschikte kleur heeft door het algoritme, of gekozen is door de gebruiker in de achtergrondkiezer, wordt de bronkleur. De tint en chroma beïnvloeden het algehele kleurenschema, waardoor een levendig blauw schema of een gedempt groen schema mogelijk is, afhankelijk van de kleurkeuze van de gebruiker.

Met behulp van de bronkleur creëren we het kernpalet, een set van 5 toonpaletten. Een toonpalet wordt gedefinieerd door een tint en chroma; de kleuren in het palet komen uit verschillende tinten. Deze toonpaletten verminderen de cognitieve belasting voor ontwerpers bij het creëren van een ontwerpsysteem: in plaats van tint en chroma voor elke rol te specificeren, kan een toonpalet worden vervangen.

Ten slotte vullen we de tabel in die de tint, chroma en toon van elke kleurrol definieert. Vervolgens gebruiken we die waarden en HCT om de kleuren te creëren die in het thema worden gebruikt."

Bovendien wordt in de blogpost benadrukt hoe Google met een nieuwe HCT-kleur (hue, chroma, tone) kwam systeem ter vervanging van het bestaande HSL-systeem (hue, saturation, lightness) om ontwerpen met kleuren te maken gemakkelijker. U kunt meer leren over dit nieuwe kleursysteem door de originele blogpost.