Material You's monet theme engine je velik vrhunec Androida 12 in tukaj je opisano, kako deluje

Googlovo gradivo You ni tako zapleteno za razumevanje, čeprav ni veliko informacij na enem mestu. Preverite tukaj!

hitre povezave

  • Kako deluje tematski mehanizem Monet
  • Kaj se je zgodilo z Runtime Resource Overlays (RRO)?
  • Material You se še vedno izboljšuje
  • Spremembe v sistemu Android 13

Daleč največja sprememba v Android 12 je Materialni vi, najnovejšo različico Googlovega jezika materialnega oblikovanja. Gradivo, kot ga opisuje Google, "poskuša ustvariti dizajne, ki so osebni za vsak slog, dostopni za vse potrebe, živi in ​​prilagodljivi za vsak zaslon.” Pri razvoju Androida 12 je Google ustvaril nov tematski mehanizem s kodnim imenom »monet«, ki ustvarja bogato paleto pastelnih barv izpeljano iz uporabnikovega ozadja. Te barve se nato uporabijo za različne dele sistema in njihove vrednosti so na voljo prek API, ki ga lahko kličejo uporabniške aplikacije in tako aplikacijam omogoči, da se odločijo, ali želijo tudi prebarvati svoje uporabniški vmesnik. Google je vse vložil v Material You in podjetje je posodobilo večino svojih aplikacij, da vključijo dinamične barve.

Za hitri tečaj o zgodovini materialnega oblikovanja je bil prvič predstavljen z Androidom 5 Lollipop, s poudarkom na uporabniški izkušnji. Kot Google ga postavlja, "Material je prilagodljiv sistem smernic, komponent in orodij, ki podpirajo najboljše prakse oblikovanje uporabniškega vmesnika." Vseboval je ravne, pastelne barvne palete, globino, mehko osvetlitev in realistično fizika. Android 9 Pie je doživel prihod Material Design 2, čeprav ni bil niti približno tako velika vizualna prenova, kot je bila prva ponovitev Material Design. Android 12 je bil predstavljen Oblikovanje materiala 3, kar je pomembnejša prenova.

Vendar če odvzamemo motor za barvno temo, Material You pravzaprav ni to drugačen. Pravzaprav osebni element, ki ga označuje "ti", bolj ali manj v celoti izgine.

Kako deluje tematski mehanizem Monet

Tematski mehanizem "monet" je tisto, kar se zgodi, ko gre za Material You, in algoritem je tisti, ki odloča, katere barve so izbrane iz ozadja. »Monet« je bil dodan v AOSP v sistemu Android 12L. To lahko implementirajo tudi razvijalci ROM-a po meri odprtokodna izvedba »moneta«. Razvijalci aplikacij tretjih oseb so brezplačni da dodate podporo za dinamične barve prav zdaj, tudi če bo trenutno deloval le na omejenem številu naprav.

Prvo vprašanje, za katerega sem prepričan, da ima večina ljudi o Material You, je, kako mu uspe izbrati barve, ki delujejo skupaj in so vsakič dobro kontrastne. Preizkusil sem nešteto ozadij z namenom, da bi prekinil algoritem za izbiro barv, a nobenemu od njih to ni uspelo. Še vedno izbere barve, ki vsakič delujejo skupaj, kar je milo rečeno impresiven dosežek. Če želite dobiti vpogled v delovanje algoritma za izbiranje barv v sistemu Android 12, je eno od dveh velikonočnih jajc na voljo v obliki pripomočka, ki ga lahko dodate na namizje. Pripomoček prikazuje vse barve, ki jih je izbral monet, in ga lahko tapnete za celozaslonski prikaz. Ko je na celotnem zaslonu, se lahko dotaknete barve, da jo delite. Ko ga daste v skupno rabo, je rezultat videti takole:

A1-600 (@android:color/system_accent1_600)
currently: #626200

Ko uporabnik spremeni ozadje v napravi Android 12, se slika analizira, da se izbere barva in algoritmično izberite primarne, sekundarne, terciarne in napake barve z uporabo začetnega semena barva. Izbrani sta tudi dve nevtralni barvi, ki dajeta materialu celoten odtenek. Hkrati uporablja teorijo barv in pravila dostopnosti. Iz teh barv algoritem ustvari tonske palete v razponu od 0 % svetilnosti (ČRNA) do 100 % (BELA). Dinamično tematiziranje ali tematiziranje po meri uporablja vrednosti v teh tonskih paletah za nastavitev atributov teme za to barvno območje. Izvleče do 128 barv iz ozadja v barvni prostor CIELAB kot posrednik, nato pa te barve preslikano na CAM16. CAM16 color avidez model se uporablja za razvrščanje in filtriranje barv, da se določi dejanska barva semena, nato pa se z uporabo te barve semena ustvarijo palete. Nato se te barve preslikajo nazaj v RGB za nastavitev barv v celotnem sistemu.

CIELAB se včasih imenuje tudi "L*a*b*". L* za zaznano svetlost/lahkotnost ter a* in b* za štiri edinstvene barve človeškega vida -- rdečo, zeleno, modro in rumeno. Svetlost se uporablja za izračun kontrastnega razmerja, ki zagotavlja berljivost. Ko jih enkrat uporabite, dobite vse svoje lepe sistemske barve, ki jih je mogoče implementirati v sistemski uporabniški vmesnik, aplikacije in drugo.

Kaj se je zgodilo z Runtime Resource Overlays (RRO)?

RRO niso nikamor izginili in Material You deluje prek API-ja Fabricated Overlays. V preteklosti smo se pogovarjali o kako se lahko Fabricated Overlays uporabijo za vrnitev tem brez korenin. Fabricated Overlays so nov dodatek k sistemu Android 12 in delujejo nekoliko drugače kot RRO. Prvič, RRO delo prek prekrivnega APK-ja, nameščenega v napravi, medtem ko izdelani prekrivni program preprosto pove, katere barve naj uporaba.

Izdelani prekrivki so tudi nekoliko bolj omejeni kot RRO. Pred Androidom 11 so RRO lahko preglasi skoraj vse vire: logične vrednosti, cela števila, dimenzije, atribute, postavitve in celo surovo podatkovne datoteke. Android 11 je nekoliko spremenil delovanje RRO-jev, zaradi česar preglasitvene postavitve v resnici niso več izvedljive. Po drugi strani pa lahko izdelane prekrivke preglasijo le vrednosti, ki jih je mogoče predstaviti kot cela števila. To vključuje cela števila, dimenzije, logične vrednosti in barve. Ne morete jih uporabiti za preglasitev virov neobdelanih podatkov, postavitev, nizov ali nizov - vsaj ne enostavno.

Kljub temu te omejitve v resnici niso pomembne, ko gre za Material You in monet. Izdelani prekrivni sistemi olajšajo uporabo barvnih in dimenzijskih prekrivnih elementov na letenju, ne da bi morali čakati, da se APK prevede ali da se sistem znova zažene, da ga uporabi.

Material You se še vedno izboljšuje

Dinamične barve materiala You zagotovo niso brez težav in ni jih tako težko popolnoma razbiti. Če na primer hitro spremenite ozadje, lahko učinkovito sprožite napad z zavrnitvijo storitve. Mishaal Rahman je potrdil da je bil ta napad z zavrnitvijo storitve odpravljen v Androidu 12L. Iskreno upam, da bo Material You v prihodnjih različicah izboljšan, saj sta mi všeč in njegov koncept, vendar potrebuje veliko dela. Iz lastnih osebnih izkušenj menim, da je njegova napaka delno razlog, zakaj ni bil dodan v AOSP... to in dejstvo, da je Google dejansko naredil časovno ekskluzivno za serijo Pixel. Pred kratkim sem celo naletel na težavo po posodobitvi na decembrski popravek za Android 13 na svojem Google Pixel 7 Pro, za katerega sem kasneje v logcatu zasledil, da ga povzročata Material You in Google Pixel zaganjalnik.

Nadležno, Android 12 je odstranil izbiro pisave po meri in ikon po meri v prid dinamični tematiki Material You. Sistem tematiziranja je bil prvič predstavljen z aplikacijo Pixel Themes in je temeljil na Androidovem tematskem ogrodju, ki temelji na prekrivanju. Čeprav je tematski sistem Material You v sistemu Android 12 bolj prilagodljiv, ne vsebuje slogov po meri, ki jih je Google predstavil v sistemu Android 10. V komentar na Googlovem sledilniku težav je Googlov uslužbenec navedel naslednje razloge za njegovo odstranitev:

»Funkcije sloga po meri (pisava, oblika ikone, paket ikon in barva poudarka) v R so nadomeščene z novo funkcijo dinamičnega oblikovanja tem, ki jo uvajamo v S. Novo funkcijo dinamičnega tematiziranja vidimo kot bolj sodobno in inteligentnejšo. Preprosta in čudovita izkušnja, za katero upamo, da bodo lahko uživali vsi uporabniki.«

Zdi se malo verjetno, da bo Google v prihodnosti ponovno uvedel pisave in izbiro ikon po meri. Mnogi uporabniki so izrazili svoje razočaranje nad Googlovimi spremembami Material You in glede na to, kako pokvarjen je lahko, popolnoma razumem, zakaj. Upamo, da bo Google izboljšal njegovo izvajanje oz drugi proizvajalci originalne opreme se ne ujamejo v iste pasti v njihovih izvedbah, ki jih ima Google.

Spremembe v sistemu Android 13

Google je izboljšal Material You za sprostitev Android 13, ena prvih izboljšav pa je bil dodatek petih dodatnih barvnih slogov. Ti novi barvni slogi se imenujejo TONAL_SPOT, VIBRANT, EXPRESSIVE, SPRITZ, RAINBOW in FRUIT_SALAD. Posneli smo posnetke zaslona in jih prikazali spodaj.

  • TONAL_SPOT: Privzete barve Material You
  • VIBRANT: ustvari bolj tonsko paleto z rahlo spreminjajočimi se odtenki in bolj barvitimi sekundarnimi barvami in barvami ozadja
  • IZRAZNO: ustvari paleto z več izrazitimi odtenki, ki so bolj barviti kot VIBRANT
  • SPRITZ: ustvari manj barvno paleto

Android 13 je uvedel tudi možnost, da imajo razvijalci tudi tematske ikone aplikacij, tako da lahko prevzamejo sistemsko temo. Razvijalci lahko to podprejo tako, da v svojih aplikacijah zagotovijo tako prilagodljivo ikono kot enobarvno ikono aplikacije. Zaganjalnik mora še vedno podpirati tematske ikone, kot je zaganjalnik Google Pixel.


Hvala starejšemu članu XDA kdrag0n, razvijalec tako ProtonAOSP kot ponovitev tematskega sistema Material You, za pomoč pri tem članku!