Googlen materiaali sinulle ei ole niin monimutkaista ymmärtää, vaikka tietoa ei olekaan paljon yhdessä paikassa. Tarkista se täältä!
Pikalinkit
- Kuinka monet teemamoottori toimii
- Mitä tapahtui Runtime Resource Overlays (RRO) -peittoille?
- Materiaali Kehität edelleen
- Muutoksia Android 13:ssa
Ylivoimaisesti suurin muutos Android 12 On Materiaali sinä, uusin versio Googlen materiaalisuunnittelukielestä. Materiaali sinä, kuten Google kuvaa, "pyrkii luomaan malleja, jotka ovat persoonallisia jokaiseen tyyliin, käytettävissä kaikkiin tarpeisiin, elävät ja mukautuvat jokaiseen näyttöön.Android 12:ta kehittäessään Google loi uuden teemamoottorin, koodinimeltään "monet", joka luo rikkaan pastelliväripaletin johdettu käyttäjän taustakuvasta. Näitä värejä sovelletaan sitten järjestelmän eri osiin, ja niiden arvot ovat saatavilla API, jota käyttäjän sovellukset voivat kutsua, jolloin sovellukset voivat päättää, haluavatko ne myös värittää omansa UI. Google on panostanut Material You -ratkaisuun, ja yritys on päivittänyt suurimman osan sovelluksistaan sisällyttämään dynaamiset värit.
Material Designin historiaa käsittelevälle pikakurssille se julkaistiin ensin Android 5 Lollipop -käyttöjärjestelmällä, jossa keskityttiin luontaisesti käyttökokemukseen. Kuten Google esittää sen, "Materiaali on mukautuva järjestelmä ohjeista, komponenteista ja työkaluista, jotka tukevat parhaita käytäntöjä käyttöliittymäsuunnittelu." Siinä oli tasaiset, pastelliväripaletit, syvyys, pehmeä valaistus ja realistinen fysiikka. Android 9 Pie näki Material Design 2:n ilmaantumisen, vaikka se ei ollut läheskään niin suuri visuaalinen uudistus kuin ensimmäinen Material Design -iteraatio. Android 12 julkaistiin Materiaalisuunnittelu 3, joka on merkittävämpi uudistus.
Ota kuitenkin pois väriteemamoottori, ja Material You ei ole sitä että eri. Itse asiassa "Sinä" merkitty henkilökohtainen elementti katoaa enemmän tai vähemmän kokonaan.
Kuinka monet teemamoottori toimii
"Monet"-teemamoottori on paikka, jossa taikuutta tapahtuu, kun on kyse Material Yousta, ja algoritmi päättää, mitkä värit taustakuvasta valitaan. "Monet" lisättiin AOSP: hen Android 12L: ssä. Mukautetut ROM-kehittäjät voivat myös toteuttaa tämän avoimen lähdekoodin "monet" toteutus. Kolmannen osapuolen sovellusten kehittäjät ovat ilmaisia lisätäksesi tuen dynaamisille väreille juuri nyt, vaikka se toimisi tällä hetkellä vain rajoitetussa määrässä laitteita.
Ensimmäinen kysymys, jonka olen varma useimmilla ihmisillä Material Yousta, on se, kuinka se onnistuu valitsemaan värit, jotka toimivat yhdessä ja kontrastivat hyvin yhdessä joka kerta. Olen kokeillut lukemattomia taustakuvia tarkoituksenaan rikkoa värinvalintaalgoritmi, mutta yksikään niistä ei ole onnistunut. Se valitsee edelleen värit, jotka toimivat yhdessä joka kerta, mikä on vähintäänkin vaikuttava suoritus. Saadaksesi käsityksen siitä, miten Android 12:n värinvalintaalgoritmi toimii, toinen pääsiäismunasta tulee widgetin muodossa, jonka voit lisätä työpöydällesi. Widget näyttää kaikki rahan mukaan valitut värit, ja voit napauttaa sitä koko näytön kokoiseksi. Kun se on koko näytön tilassa, voit napauttaa väriä jakaaksesi sen. Kun jaat sen, tulos näyttää tältä:
A1-600 (@android:color/system_accent1_600)
currently: #626200
Kun käyttäjä vaihtaa taustakuvaansa Android 12 -laitteella, kuva analysoidaan värin valitsemiseksi ja valitse algoritmisesti ensisijainen, toissijainen, tertiäärinen ja virheväri käyttämällä alkusiementä väri. Valittavana on myös kaksi neutraalia väriä, jotka antavat Material You sen yleissävyn. Samalla se soveltaa väriteoriaa ja saavutettavuussääntöjä. Näistä väreistä algoritmi luo sävypaletteja 0 % luminanssista (MUSTA) 100 %:iin (VALKOINEN). Dynaaminen tai mukautettu teemaus käyttää näiden sävypalettien arvoja määrittääkseen teeman attribuutit kyseiselle värialueelle. Se poimii jopa 128 väriä tapetista CIELAB-väriavaruuteen välittäjänä, jolloin nämä värit ovat kartoitettu CAM16:een. CAM16 color aulkonäkö model käytetään värien lajitteluun ja suodattamiseen todellisen siemenvärin määrittämiseksi, ja sitten paletit luodaan käyttämällä tätä siemenväriä. Myöhemmin nämä värit kartoitetaan takaisin RGB: hen värien asettamista varten koko järjestelmässä.
CIELABia kutsutaan joskus myös nimellä "L*a*b*". L* tarkoittaa havaittua kirkkautta/keveyttä ja a* ja b* neljää ainutlaatuista ihmisen näön väriä - punainen, vihreä, sininen ja keltainen. Vaaleutta käytetään kontrastisuhteen laskemiseen, mikä takaa luettavuuden. Kun olet lisännyt sen, saat kaikki melko järjestelmän laajuiset värit, jotka voidaan ottaa käyttöön järjestelmän käyttöliittymässä, sovelluksissa ja muussa.
Mitä tapahtui Runtime Resource Overlays (RRO) -peittoille?
RRO: t eivät ole kadonneet minnekään, ja Material You toimii Fabricated Overlays API: n kautta. Aiemmin olemme puhuneet miten Fabricated Overlays -peittokuvia voidaan käyttää tuomaan takaisin juureton teema. Valmistetut peittokuvat ovat uusi lisäys Android 12:een, ja ne toimivat hieman eri tavalla kuin RRO: t. Ensinnäkin RRO: t työstää laitteeseen asennetun peitto-APK: n läpi, kun taas valmistettu peittokuva yksinkertaisesti kertoo sovellukselle, mitkä värit käyttää.
Valmistetut peittokuvat ovat myös hieman rajoitetumpia kuin RRO: t. Ennen Android 11:tä RRO: t pystyivät ohittaa lähes kaikki resurssit: booleans, kokonaisluvut, mitat, attribuutit, asettelut ja jopa raaka tiedostot. Android 11 teki joitain muutoksia RRO: iden toimintaan, jolloin ohittavat asettelut eivät enää ole käytännössä mahdollisia. Valmistetut peittokuvat puolestaan voivat ohittaa vain arvot, jotka voidaan esittää kokonaislukuina. Se sisältää kokonaisluvut, mitat, loogiset arvot ja värit. Et voi käyttää niitä raakatietoresurssien, asettelujen, merkkijonojen tai taulukoiden ohittamiseen – ainakaan ei helposti.
Näillä rajoituksilla ei kuitenkaan ole väliä, kun on kyse Material You ja rahasta. Valmistettujen peittokuvien avulla järjestelmän on helppo lisätä väri- ja mittapeittokuvia lennossa odottamatta APK: n kääntämistä tai järjestelmän uudelleenkäynnistystä käyttääkseen sitä.
Materiaali Kehität edelleen
Material Youn dynaamiset värit eivät todellakaan ole ongelmattomia, eikä sitä ole kovin vaikeaa rikkoa perusteellisesti. Jos vaihdat esimerkiksi taustakuvasi nopeasti, voit käynnistää tehokkaasti palvelunestohyökkäyksen. Mishaal Rahman on vahvistanut että tämä palvelunestohyökkäys korjattiin Android 12L: ssä. Toivon vilpittömästi, että Material Youa parannetaan tulevissa versioissa, sillä vaikka rakastan sitä ja sen konseptia, se vaatii paljon työtä. Omasta henkilökohtaisesta kokemuksestani koen, että sen bugisuus johtuu osittain siitä, miksi sitä ei ole lisätty AOSP: hen... se, ja se, että Google teki siitä todella ajoitetun Pixel-sarjan eksklusiivisen tuotteen. Törmäsin jopa ongelmaan äskettäin päivittäessäni Android 13:n joulukuun korjauspäivityksen Google Pixel 7:ään Pro, jonka jäljitin myöhemmin logcatista Material Youn ja Google Pixelin aiheuttamana kantoraketti.
Ärsyttää, Android 12 poisti mukautetut kirjasin- ja kuvakevalinnat Material Youn dynaamisen teeman puolesta. Teemajärjestelmä esiteltiin ensimmäisen kerran Pixel Themes -sovelluksen kanssa, ja se perustui Androidin peittopohjaiseen teemakehykseen. Vaikka Android 12:n Material You -teemajärjestelmä on muokattavampi, siinä ei ole mukautettuja tyylejä, jotka Google esitteli Android 10:ssä. Jonkin sisällä kommentti Google Issue Trackerissa Googlen työntekijä perusteli sen poistamista seuraavasti:
"R: n mukautetut tyyliominaisuudet (fontti, kuvakkeen muoto, kuvakepaketti ja korostusväri) korvataan uudella dynaamisella teematoiminnolla, jonka esittelemme S: ssä. Näemme uuden dynaamisen teematoiminnon nykyaikaisempana ja älykkäämpänä. Yksinkertainen ja ihastuttava kokemus, josta toivomme, että kaikki käyttäjät voivat nauttia."
Vaikuttaa epätodennäköiseltä, että Google ottaa tulevaisuudessa uudelleen käyttöön kirjasimia ja mukautettuja kuvakevaihtoehtoja. Monet käyttäjät ovat ilmaisseet pettymyksensä Googlen Material You -muutoksiin, ja ymmärrän täysin miksi se voi olla rikki. Toivomme, että Google parantaa sen toteutusta tai sitä muut OEM-valmistajat eivät joudu samoihin ansoihin Googlen toteutuksissa.
Muutoksia Android 13:ssa
Google paransi Material You -palvelua vapauttamista varten Android 13, ja yksi ensimmäisistä parannuksista oli viiden ylimääräisen värityylin lisääminen. Näitä uusia värityylejä kutsutaan nimellä TONAL_SPOT, VIBRANT, EXPRESSIVE, SPRITZ, RAINBOW ja FRUIT_SALAD. Olemme ottaneet kuvakaappauksia ja näyttäneet ne alla.
- TONAL_SPOT: Oletusmateriaalin värit
- VIBRANT: Luo sävyisemmän paletin, jossa on hieman vaihtelevia sävyjä ja värikkäämpiä toissijaisia ja taustavärejä
- EKSPRESSIIVINEN: Luo paletin, jossa on useita erottuvia sävyjä, jotka ovat värikkäämpiä kuin VIBRANT
- SPRITZ: Luo matalamman väripaletin
Android 13 toi myös kehittäjille mahdollisuuden käyttää teemakohtaisia sovelluskuvakkeita, jotta he voivat ottaa käyttöön järjestelmäteeman. Kehittäjät voivat tukea tätä tarjoamalla sovelluksiinsa sekä mukautuvan kuvakkeen että yksivärisen sovelluskuvakkeen. Käynnistysohjelman on silti tuettava teemakuvakkeita, kuten Google Pixel -käynnistin.
Kiitos XDA: n vanhemmalle jäsenelle kdrag0n, kehittäjä sekä ProtonAOSP että Material You -teemajärjestelmän toisto, heidän avustaan tässä artikkelissa!