Tematski sistem Material You za Android 12 je poustvaril razvijalec

kdrag0n, razvijalec ROM-a ProtonAOSP, je izdal svojo različico »monet«, novega tematskega sistema Android 12, ki temelji na ozadju.

Tematski sistem Material You, ki temelji na ozadju, s kodnim imenom "monet", je končno začel delovati Android 12 beta 2. Sistem za temiranje ustvari barvne palete na podlagi prevladujoče barvne sheme vašega ozadja in jih uporabi za ploščice hitrih nastavitev, zaklenjeni zaslon, nastavitve, pojavna okna in aplikacije. Vendar pa je v trenutni izvedbi samo teme del uporabniškega vmesnika sistema in izberite sistemske aplikacije. Večina aplikacij tretjih oseb ne podpira tega dinamičnega tematiziranja, saj Google še ni objavil dokumentacije o Material You. Medtem ko ne vemo, kdaj bo Google objavil vire in knjižnice na Material You, je Danny Lin (kdrag0n), razvijalec ProtonAOSP ROM, predstavil svoj lasten tematski mehanizem, ki temelji na "monetu".

kdrag0nov mehanizem za oblikovanje tem deluje tako kot »monet« in odpira dinamično temo, ki je ekskluzivna za Pixel, vsem napravam s sistemom Android 12 in nekaterimi starejšimi različicami Androida. kdrag0n je bil razvijalec, ki je prvi vzpostavil "monet" v zgodnjih različicah predogleda za razvijalce za Android 12. Od takrat je izvedel povratni inženiring Googlove implementacije in celo dajal povratne informacije članom Googlove ekipe SystemUI, predvsem

James O'Leary (ki se zdi, da je del ekipe, ki je razvila "monet" pri Googlu).

Po besedah ​​kdrag0n njegova izvedba ne uporablja nobene kode ali API-jev iz Googla ali Androida 12, tako da uporaba njegovega modela ni odvisna od naprav, ki uporabljajo Android 12. Tematski mehanizem kdrag0n sledi barvnim ciljem Material You. Ti cilji so potem »prebarvan s prilagoditvijo barvitosti in odtenka v zaznavnem barvnem prostoru Oklab @bjornornorn. Dobljene barve so preslikane v sRGB z uporabo presečišča lestvic v prostoru Oklab.” Uporabniki lahko tudi spreminjajo barvitost in dajo prednost barvitosti pred natančnimi odtenki.

Tematski mehanizem kdrag0n je odprtokoden pod licenco MIT, kar razvijalcem ROM po meri (in celo proizvajalcem originalne opreme) omogoča, da ga implementirajo, če to želijo. Pravzaprav last razvijalca ProtonAOSP ROM bo eden prvih, ki ga bo implementiral, ko bo objavljena izvorna koda za Android 12. Če ste razvijalec ROM-a po meri, lahko izberete češnjo te zaveze in jih združite v svojo zgradbo.

Razvijalec dela tudi na knjižnicah Jetpack Compose in Flutter, ki bosta celo aplikacijam, ustvarjenim za Android 11, omogočile podporo dinamičnih barv. Aplikacije, ki ciljajo na starejše različice Androida, lahko prijavi poslušalca da prejmete obvestilo, ko se barve ozadja spremenijo — koda kdrag0n je namenjena bolj ustvarjanju tem na podlagi nove barve ozadja.

Kot primer svojega modela, ki deluje za aplikacije, ki ciljajo na Android 11, je razvijalec z nami delil videoposnetek, ki prikazuje aplikacijo, ki spreminja svojo temo vsak okvir pri 90 sličicah na sekundo. Upoštevajte, da je ta predstavitev samo primer, kaj je mogoče narediti, in ni priporočljivo, da bi jo ponovno ustvarili točno tako, kot je prikazano.

Ta lahko močno vpliva na zmogljivost in baterijo, čeprav lahko razvijalčev Pixel 4 upodablja spremembe teme pri 90 sličicah na sekundo za preprostejše poglede. Po mnenju razvijalca Jetpack Compose ni bil toliko optimiziran za zmogljivost in knjižnica Flutter bi bila morda boljša. V vsakem primeru traja samo 0,05 ms, da njegov mehanizem ustvari temo, a spreminjanje teme uporabniškega vmesnika pri vsakem okvirju vseeno obremenjuje zmogljivost.


K temu članku je prispeval Mishaal Rahman.