Material You Rahateema mootor on Android 12 suur tipphetk ja see toimib järgmiselt

Google'i materjal Teie mõistmine pole kuigi keeruline, kuigi ühes kohas pole palju teavet. Vaata seda siit!

Kiirlingid

  • Kuidas rahateema mootor töötab
  • Mis juhtus käitusaja ressursside ülekatetega (RRO)?
  • Materjal Te täiustate endiselt
  • Muudatused operatsioonisüsteemis Android 13

Ülekaalukalt suurim muutus Android 12 on Materjal Sina, Google'i materjalikujunduskeele uusim versioon. Materjal, mida Google kirjeldab, "püüab luua disainilahendusi, mis on iga stiili jaoks isikupärased, juurdepääsetavad igale vajadusele, elusad ja kohandatavad iga ekraani jaoks.Android 12 arendamisel lõi Google uue teemamootori koodnimega "monet", mis loob rikkaliku pastelsete värvide paleti tuletatud kasutaja taustapildist. Seejärel rakendatakse neid värve süsteemi erinevatele osadele ja nende väärtused tehakse kättesaadavaks läbi an API, millele kasutaja rakendused saavad helistada, võimaldades seega rakendustel otsustada, kas nad soovivad ka oma värvi muuta UI. Google on Material You osas kõikehõlmanud ja ettevõte on värskendanud enamikku oma rakendustest, et lisada dünaamilised värvid.

Materjalidisaini ajaloo kiirkursuse jaoks käivitati see esmalt operatsioonisüsteemiga Android 5 Lollipop, keskendudes loomupäraselt kasutajakogemusele. Nagu Google paneb selle, "Materjal on kohandatav juhiste, komponentide ja tööriistade süsteem, mis toetab parimaid tavasid kasutajaliidese kujundus." See sisaldas lamedaid pastelseid värvipalette, sügavust, pehmet valgustust ja realistlikkust Füüsika. Android 9 Pie nägi ette Material Design 2 tulekut, kuigi see ei olnud kaugeltki nii ulatuslik visuaalne remont kui esimene Material Design iteratsioon. Android 12 käivitati Materjalide disain 3, mis on olulisem kapitaalremont.

Kuid võtke ära värviteemastamise mootor ja Material You pole tegelikult seda et erinev. Tegelikult kaob "sina" tähistatud isiklik element enam-vähem täielikult.

Kuidas rahateema mootor töötab

"Monet" teemamootor on koht, kus Material You puudutab maagiat ja see on algoritm, mis otsustab, millised värvid taustapildilt valitakse. "Monet" lisati Android 12L AOSP-sse. Seda saavad rakendada ka kohandatud ROM-i arendajad "raha" avatud lähtekoodiga rakendamine. Kolmanda osapoole rakenduste arendajad on tasuta dünaamiliste värvide toe lisamiseks praegu, isegi kui see töötab praegu vaid piiratud arvul seadmetel.

Esimene küsimus, mida ma olen kindel, et enamikul inimestel on Material You kohta, on see, kuidas õnnestub iga kord valida värve, mis töötavad koos ja on koos hästi kontrastsed. Olen proovinud lugematul hulgal taustapilte eesmärgiga rikkuda värvivaliku algoritmi, kuid ükski neist pole sellega hakkama saanud. See valib endiselt värve, mis töötavad iga kord, mis on pehmelt öeldes muljetavaldav saavutus. Android 12 värvivaliku algoritmi toimimise kohta ülevaate saamiseks on üks kahest lihavõttemunast vidina kujul, mille saate oma töölauale lisada. Vidin näitab kõiki monetiga valitud värve ja saate seda täisekraanil kuvamiseks puudutada. Kui see on täisekraanil, saate selle jagamiseks puudutada värvi. Kui jagate seda, näeb väljund välja järgmine:

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

Kui kasutaja muudab Android 12 seadmes taustapilti, analüüsitakse pilti värvi valimiseks ja valige algse seemne abil algoritmiliselt esmane, sekundaarne, tertsiaarne ja tõrkevärvid värvi. Valitud on ka kaks neutraalset värvi, mis annavad Material You üldtooni. Samal ajal rakendab see värviteooriat ja juurdepääsetavuse reegleid. Nendest värvidest loob algoritm toonipaletid vahemikus 0% heledusest (MUST) kuni 100% (VALGE). Dünaamiline või kohandatud kujundus kasutab nende toonipalettide väärtusi, et määrata selle värvivahemiku teemaatribuudid. See eraldab tapeedist kuni 128 värvi CIELABi värviruumi vahendajana, siis need värvid on kaardistatud CAM16-ga. CAM16 color avälimus model kasutatakse värvide sortimiseks ja filtreerimiseks, et määrata tegelik seemnevärv, ning seejärel luuakse paletid, kasutades seda seemnevärvi. Seejärel kaardistatakse need värvid kogu süsteemi värvide määramiseks tagasi RGB-ga.

CIELABile viidatakse mõnikord ka kui "L*a*b*". L* tajutava heleduse/kerguse jaoks ning a* ja b* inimese nägemise nelja ainulaadse värvi jaoks – punane, roheline, sinine ja kollane. Heledust kasutatakse kontrastsuse arvutamiseks, mis tagab loetavuse. Pärast rakendamist saate kõik oma päris süsteemiülesed värvid, mida saab rakendada süsteemi kasutajaliidesesse, rakendustesse ja muusse.

Mis juhtus käitusaja ressursside ülekatetega (RRO)?

RRO-d pole kuhugi kadunud ja Material You töötab Fabricated Overlays API kaudu. Varem oleme rääkinud kuidas saab Fabricated Overlaysi kasutada juurteta teemastamise taastamiseks. Valmistatud ülekatted on Android 12 uus täiendus ja need töötavad veidi erinevalt RRO-dest. Näiteks RRO-d töötada läbi seadmesse installitud ülekattega APK, samas kui valmistatud ülekate lihtsalt ütleb rakendusele, milliseid värve kasutada kasutada.

Valmistatud ülekatted on ka pisut piiratumad kui RRO-d. Enne Android 11 võisid RRO-d alistavad peaaegu kõik ressursid: tõeväärtused, täisarvud, mõõtmed, atribuudid, paigutused ja isegi toorväärtused andmefailid. Android 11 tegi mõned muudatused RRO-de toimimises, muutes ülekaaluka paigutuse enam võimatuks. Valmistatud ülekatted seevastu saavad alistada ainult väärtused, mida saab esitada täisarvudena. See hõlmab täisarve, mõõtmeid, tõeväärtusi ja värve. Te ei saa neid kasutada töötlemata andmeressursside, paigutuste, stringide või massiivide alistamiseks – vähemalt mitte lihtsalt.

Siiski ei oma need piirangud Material You ja raha puhul tegelikult tähtsust. Valmistatud ülekatted muudavad süsteemi jaoks hõlpsaks värvide ja mõõtmete ülekatete käigult rakendamise, ilma et peaks ootama APK kompileerimist või süsteemi taaskäivitamist.

Materjal Te täiustate endiselt

Materjal You'i dünaamilised värvid ei ole kindlasti probleemideta ja seda pole nii raske põhjalikult murda. Kui muudate näiteks kiiresti taustapilti, saate seda teha tõhusalt algatada teenuse keelamise rünnak. Mishaal Rahman on kinnitanud et see teenuse keelamise rünnak parandati operatsioonisüsteemis Android 12L. Loodan siiralt, et materjali Material You tulevastes versioonides täiustatakse, sest kuigi see ja selle kontseptsioon mulle meeldivad, vajab see palju tööd. Isikliku kogemuse põhjal tunnen, et selle viga on osaliselt põhjus, miks seda pole AOSP-sse lisatud... see ja asjaolu, et Google muutis selle Pixeli seeria jaoks ajastatud eksklusiivseks. Mul tekkis isegi hiljuti probleem pärast Android 13 detsembrikuu plaastri värskendamist oma Google Pixel 7-s Pro, mille ma hiljem logcatis leidsin, et selle põhjustasid Material You ja Google Pixel kanderakett.

Ärritavalt, Android 12 eemaldas kohandatud fondi ja kohandatud ikoonide valikud kasuks Material You dünaamiline teemastamine. Teemasüsteemi tutvustati esmakordselt rakendusega Pixel Themes ja see põhines Androidi ülekattepõhisel teemaraamistikul. Kuigi Android 12 teemasüsteem Material You on paremini kohandatav, ei sisalda see kohandatud stiile, mida Google Android 10-s tutvustas. Sees kommenteerida Google Issue Trackeris põhjendas Google'i töötaja selle eemaldamist järgmiselt.

„R-i kohandatud stiilifunktsioonid (font, ikooni kuju, ikoonipakett ja aktsentvärv) asendatakse uue dünaamilise temaatilise funktsiooniga, mida me S-s tutvustame. Näeme uut dünaamilise teemakujunduse funktsiooni kaasaegsema ja intelligentsemana. Lihtne ja veetlev kogemus, millest loodame, et kõik kasutajad saavad nautida.

Tundub ebatõenäoline, et Google tulevikus fonte ja kohandatud ikoonivalikuid uuesti kasutusele võtab. Paljud kasutajad on väljendanud oma pettumust Google'i Material You muudatustes ja arvestades, kui katki see võib olla, saan ma täiesti aru, miks. Loodame, et Google parandab selle rakendamist või seda teised originaalseadmete tootjad ei satu samadesse lõksudesse nende rakendustes, mis Google'il on.

Muudatused operatsioonisüsteemis Android 13

Google täiustas teie materjali vabastamise eest Android 13, ja üks esimesi täiustusi oli viie täiendava värvistiili lisamine. Neid uusi värvistiile nimetatakse TONAL_SPOT, VIBRANT, EXPRESSIVE, SPRITZ, RAINBOW ja FRUIT_SALAD. Oleme teinud ekraanipilte ja näidanud neid allpool.

  • TONAL_SPOT: vaikematerjali värvid
  • VIBRANT: loob pisut varieeruvate toonide ja värvilisemate sekundaarsete ja taustavärvidega toonipaleti
  • EKSPRESSIIVNE: loob mitme silmapaistva tooniga paleti, mis on värvilisemad kui VIBRANT
  • SPRITZ: loob madalama värvipaleti

Android 13 tutvustas ka arendajatele võimalust omada ka temaatilisi rakenduste ikoone, et nad saaksid võtta kasutusele süsteemiteema. Arendajad saavad seda toetada, pakkudes oma rakendustes nii adaptiivset ikooni kui ka monokromaatilise rakenduseikooni. Käivitusprogramm peab siiski toetama temaatilisi ikoone, näiteks Google Pixeli käivitusprogrammi.


Aitäh XDA vanemliikmele kdrag0n, arendaja nii ProtonAOSP kui ka Material You teemasüsteemi taasloomine, abi eest selles artiklis!