Android 12:s Material You-temasystem har återskapats av en utvecklare

kdrag0n, utvecklaren av ProtonAOSP ROM, har släppt sin egen version av "monet", Android 12:s nya tapetbaserade temasystem.

Material Yous tapetbaserade temasystem, med kodnamnet "monet", gick äntligen in Android 12 Beta 2. Temasystemet skapar färgpaletter baserade på det dominerande färgschemat för din bakgrundsbild och applicerar dem på snabbinställningar, låsskärmar, inställningar, popup-fönster och appar. Men i sin nuvarande implementering är det endast teman del av systemets användargränssnitt och välj systemappar. De flesta appar från tredje part stöder inte detta dynamiska tema eftersom Google ännu inte har publicerat dokumentationen om Material You. Även om vi inte vet när Google kommer att publicera resurser och bibliotek på Material You, har Danny Lin (kdrag0n), utvecklaren av ProtonAOSP ROM, kommit fram med sin egen temamotor baserad på "monet".

kdrag0ns temamotor fungerar precis som "monet" och öppnar upp det Pixel-exklusiva dynamiska temat för alla enheter som kör Android 12 och vissa äldre Android-versioner. kdrag0n var utvecklaren som först fick "monet" att fungera i tidiga Android 12-utvecklare förhandsgranskningar. Sedan dess har han omvandlat Googles implementering och har till och med gett feedback till medlemmar i Googles SystemUI-team, särskilt

James O'Leary (som verkar vara en del av teamet som utvecklade "monet" på Google).

Enligt kdrag0n använder hans implementering ingen kod eller API: er från Google eller Android 12, så det finns inget beroende av enheter som kör Android 12 för att hans modell ska användas. kdrag0ns temamotor följer Material You-färgmål. Dessa mål är då “färgade om genom att justera färgstarka och nyanser i @bjornornorns Oklab perceptuella färgrymd. De resulterande färgerna är spektrummappade till sRGB med spektrumskärning i Oklab-rymden." Användare kan också ändra färgglatthet och få det att prioritera färgstarkt framför exakta nyanser.

kdrag0ns temamotor är öppen källkod under MIT-licensen, vilket tillåter anpassade ROM-utvecklare (och till och med OEM-tillverkare) att implementera den om de vill göra det. Faktum är att utvecklarens egen ProtonAOSP ROM kommer att vara en av de första att implementera det när Android 12-källkoden publiceras. Om du är en anpassad ROM-utvecklare kan du välja cherry dessa begår och slå samman dem i din konstruktion.

Utvecklaren arbetar också med Jetpack Compose och Flutter-bibliotek, vilket gör att även appar byggda för Android 11 stöder dynamiska färger. Appar som är inriktade på äldre Android-versioner kan registrera en lyssnare för att få meddelande när bakgrundsfärgerna ändras — kdrag0ns kod är mer avsedd för att generera teman baserat på den nya bakgrundsfärgen.

Som ett exempel på hans modell som arbetar för appar riktade mot Android 11, delade utvecklaren en video med oss ​​som demonstrerade en app som ändrar sitt tema varje bildruta med 90fps. Observera att den här demon bara är ett exempel på vad som kan göras och att den inte rekommenderas att återskapas exakt som visas.

Den här kan ha en stor träff på prestanda och batteri, även om utvecklarens Pixel 4 kan återge temaändringar med 90 fps för enklare vyer. Enligt utvecklaren har Jetpack Compose inte optimerats för prestanda så mycket, och Flutter-biblioteket kan vara bättre. Hur som helst tar det bara 0,05 ms för hans motor att generera ett tema, men att ändra UI-temat belastar varje bildruta ändå prestanda.


Mishaal Rahman bidrog till den här artikeln.