Googlen seuraava Android-versio, Android 10 Q, sisältää koko järjestelmän kattavan pimeän tilan. Miten Android Q: n sovellukset käsittelevät tummia teemoja?
Meidän ensimmäinen postaus Kerroimme yksityiskohtaisesti saamistamme kehitysvaiheessa olevasta Android Q -koontiversiosta löytämämme muutokset, ja puhuimme lyhyesti pimeästä tilasta, joka on kaikki innostunut. Yhteenvetona totean, että Googlen sisäänrakennettu tumma tila Android Q: ssa voidaan ottaa käyttöön uudella "Dark Mode" -vaihtoehdolla näytön asetuksissa. Tumma tila voi olla joko aina pois päältä, aina päällä tai ottaa automaattisesti käyttöön yöllä ja poistaa käytöstä aamulla. Tumman tilan teemoina SystemUI (äänenvoimakkuuspaneeli, virtavalikko, pika-asetuspaneeli, ilmoitukset), Asetukset-sovellus ja kehys (korostusväri jne.).
Yllä: Tumma tila Android Q: ssa Google Pixel 3 XL: ssä. Alla: Kevyt teema Android Pie -sovelluksessa Google Pixel 2 XL: ssä.
Google ei kuitenkaan halua vain järjestelmän elementtien olevan tummia. He pyrkivät myös varmistamaan, että kaikki heidän ensimmäisen osapuolen sovelluksensa tukevat tummaa tilaa, kun käyttäjä kääntää kytkintä. Google-sovellukset, kuten
Viestit, Puhelin, Yhteystiedot, Uutiset, Pelata pelejä, YouTube, Kartat, ja paljon muuta on päivitetty käyttäjiä osoittavilla tumman tilan kytkimillä, kun taas muut sovellukset pitävät Google Chrome korjaavat edelleen mahdollisia mutkia ennen Google I/O 2019 -tapahtumaa. Google on myös alkanut kannustaa kolmannen osapuolen sovellusten kehittäjiä omaksua tummia teemoja sovelluksissaan, koska yritys myöntää, että ne kestävät erinomaisesti akkua (ainakin älypuhelimissa, joissa on OLED-näyttö).Auttaakseen kehittäjiä päivittämään sovelluksiaan tukemalla Android Q: n tummaa tilaa Google tarjoaa uuden kehittäjävaihtoehdon, joka näyttää pakottavan kaikki sovellukset vaihtamaan tummaan tilaan. Tätä vaihtoehtoa ei ole tarkoitettu käyttäjille, jotka haluavat tummentaa kaiken, koska järjestelmän on vaikea valita oikeat värit kaikille sovelluksille, joilla ei ole alkuperäistä tummaa tilaa. Onneksi Google on jo luonut pohjan sovelluksille, jotka tukevat tummia tiloja, ja niitä on jo monia näyttää hyvältä, kun Android Q: n tumman tilan ohitusvaihtoehto on käytössä, vaikka sovelluksessa ei olisi käyttäjälle suunnattua tummaa tilaa vaihtaa. Tässä on kokoelma kuvakaappauksia 24 eri sovelluksesta, jotka näyttävät, miltä ne näyttävät, kun tumma tila pakotetaan niihin Android Q: n tumman tilan ohituskytkimellä. Kaikki sovellukset eivät näytä yhtä hyvältä, kuten alla näytän.
Tumman tilan käyttöönotto Android Q: ssa
API-tasolla 8 (Android 2.2 Froyo), Google esitteli -illan karsintaottelut resursseja varten. Sovellusten kehittäjät voivat vaihtaa päivä- ja yötilan välillä käyttämällä setNightMode in -toimintoa UiModeManager. setNightMode edellyttää kuitenkin, että laite on autotilassa tai telakoituna, jos laite on API-tasolla 22 tai sitä alemmalla. AppCompat v23.2 toi DayNight-toteutuksen, jolloin sovellukset, kuten Reddit-asiakkaat, voivat vaihtaa automaattisesti päivä- ja yöteemiensä välillä kellonajan mukaan käyttämällä AppCompatDeletegate.setDefaultNightMode(ta). API-tason 28 (Android 9 Pie) tekemä MODE_NIGHT_FOLLOW_SYSTEM (oletusarvo setDefaultNightMode()) noudattaa käyttäjän määrittämiä järjestelmäasetuksia kohdassa Asetukset --> Kehittäjäasetukset --> Yötila. Google on työskentelee parannuksia AppCompatin DayNight API: hen, erityisesti mitä tulee "usein kohtaamisiin ongelmiin", kuten WebView'n ongelmiin. Lopuksi Google on ottanut käyttöön yötilan tunnistus ja on estetyt sovellukset ilman MODIFY_DAY_NIGHT_MODE allekirjoitus/etuoikeutettu käyttöoikeus Android Q: n kehyksessä. Jälkimmäinen muutos tarkoittaa, että sovellukset eivät voi enää muokata järjestelmänlaajuista yötilaa, mikä mahdollisti äskettäisen Messages-virheen hämmentämään käyttäjiä Android Pie -sovelluksessa.
Päivittää: An päivittää kohtaan AndroidX tukikirjaston ansiosta kehittäjien on helpompi ottaa tummat tilat automaattisesti käyttöön sovelluksissaan, kun laite siirtyy virransäästötilaan.
Tumman tilan pakottaminen Android Q: ssa
Sovelluksissa, kuten Snapchat, Slack, AOSP Email, AOSP Messaging, AOSP Dialer ja monissa muissa sovelluksissa, on yöresurssien tarkenteet, vaikka ne eivät tarjoa käyttäjälle tapaa käyttää sovellusta yötilassa. Muut sovellukset, joissa ei ole kovakoodattuja yöresurssien määritteitä, kuten Facebook ja Instagram, saattavat näyttää tai eivät näytä hyvältä, kun Android Q: n tumma teema on ohitettu. Instagram näyttää hyvältä, kun taas Facebook tarvitsee paljon työtä. Testaukseni perusteella yötilan ohituskehittäjävaihtoehto eroaa suuresti käytettävyysasetuksissa käytettävistä värien käänteistä – ehkä Googlen tarkoituksena on auttaa kehittäjiä luomaan tummia tiloja sovelluksilleen, kun Android Q -kehittäjien esikatselut ovat jatkuva. Emme tiedä tarkalleen, kuinka tämä ominaisuus toimii, ennen kuin Android Q: n lähdekoodi julkaistaan tai Google julkaisee sen dokumentaation.
Tumman tilan ohitus Android Q: ssa on eniten rikki sovelluksissa, jotka käyttävät WebView'ta.
"Pikselivärin hintaGooglen Chris Banesin ja Alan Viveretten pitämän keskustelun kaksikko rohkaisee kehittäjiä ottamaan käyttöön tummia teemoja:
- DayNight API: n käyttäminen AppCompatissa. Osakewidgetit reagoivat automaattisesti yötilan muutoksiin, tai voit lisätä kytkimen myös sovellukseesi.
- Peiteteemojen dynaaminen käyttö ajon aikana kutsumalla getTheme().applyStyle(). Lisätietoja löytyy tästä aiemmasta keskustelusta tässä.
- Rakentaa sovelluksesi niin, että se käyttää teemaattribuutteja, kuten colorForeground, colorControlNormal, colorAccent jne.
- Lisäämällä resursseillesi yön karsintoja. -Yön karsintoja tulisi käyttää resursseihin, joilla on vaikea poimia teemavärejä.
- Käänteisten värien tilan ottaminen käyttöön (Asetukset --> Värit --> Värin käännös) saadaksesi nopean käsityksen siitä, miltä sovelluksesi näyttää pimeässä tilassa. Jos haluat ottaa kuvakaappauksen sovelluksestasi käänteisillä väreillä, sinun tulee olla tietoinen siitä, että värin käännös ei näy kuvakaappauksessa.
Android Q: n tumma tila laajenee julkaisun yhteydessä ensimmäisen osapuolen Google-sovelluksiin, mutta toivomme, että kolmannen osapuolen sovellukset ottavat nopeasti tummat teemat sovelluksiinsa. Lisäksi toivomme, että useammat sovellukset vaihtuvat automaattisesti yöteemaansa, kun käyttäjä ottaa järjestelmänlaajuisen asetuksen käyttöön. Tällä hetkellä ainoa sovellus, jonka olen nähnyt, joka vaihtaa automaattisesti teemoja, kun Android Q: n koko järjestelmän tumma tila on käytössä, on Google Contacts. Katsotaan, miten asiat kehittyvät parin kuukauden kuluttua, kun Android Q julkaistaan, mutta kaikille tätä lukeville kehittäjille: omaksu pimeä puoli!
LineageOS-avustajan syötteellä Joey Rizzoli.