Kõik, mida me seni teame Android Q tumeda režiimi kohta

Google'i järgmine Androidi versioon Android 10 Q sisaldab kogu süsteemi hõlmavat tumedat režiimi. Kuidas Android Q rakendused tumedaid teemasid käsitlevad?

Meie esimene postitus kirjeldades üksikasjalikult muudatusi, mida leidsime arendusjärgus Android Q järgust, rääkisime lühidalt tumedast režiimist, mis on kõigile põnev. Kokkuvõtteks võib öelda, et Google'i sisseehitatud tumedat režiimi Android Q-s saab lubada ekraaniseadete uue valiku „Tume režiim” kaudu. Tume režiim võib olla alati välja lülitatud, alati sisse lülitatud või öösel automaatselt sisse lülitatud ja hommikul keelatud. Tumedas režiimis on teemad SystemUI (helitugevuse paneel, toitemenüü, kiirseadete paneel, teatised), seadete rakendus ja raamistik (aktsentvärv jne).

Ülal: Android Q tume režiim seadmes Google Pixel 3 XL. All: kerge teema rakenduses Android Pie seadmes Google Pixel 2 XL.

Google ei taha siiski, et süsteemielemendid oleksid tumedateemalised. Nad töötavad ka selle nimel, et kõik nende esimese osapoole rakendused toetaksid pimedat režiimi, kui kasutaja lülitit pöörab. Google'i rakendused nagu

Sõnumid, Telefon, Kontaktid, Uudised, Mänge mängima, Youtube, Kaardid, ja palju muud on värskendatud kasutajale suunatud tumeda režiimi lülititega, samas kui teistele rakendustele meeldib Google Chrome alles siluvad kõik kohad enne Google I/O 2019. Google on hakanud julgustama ka kolmandatest osapooltest rakenduste arendajaid omaks tumedaid teemasid oma rakendustes, sest ettevõte tunnistab, et need on aku kestvuse jaoks suurepärased (vähemalt OLED-ekraaniga nutitelefonides).

Et aidata arendajatel värskendada oma rakendusi Android Q tumeda režiimi toega, pakub Google uut arendajavalikut, mis näib sunnib kõiki rakendusi tumedale režiimile üle minema. See valik ei ole mõeldud kasutajatele, kes soovivad kõiki asju tumedaks muuta, kuna süsteemil on raske valida õigeid värve kõikidele rakendustele, millel pole loomulikku tumedat režiimi. Õnneks pani Google juba aluse tumedate režiimide toetamiseks rakendustele ja neid rakendusi on juba palju näeb hea välja, kui Android Q tumeda režiimi alistamise valik on lubatud isegi siis, kui rakendusel pole kasutajale suunatud tumedat režiimi lüliti. Siin on kogumik ekraanipilte 24 erinevast rakendusest, mis näitab, kuidas need välja näevad, kui tume režiim on neile peale sunnitud, kasutades Android Q tumeda režiimi alistamise lülitit. Kõik rakendused ei näe nii head välja, nagu ma teile allpool näitan.

Tumeda režiimi rakendamine Android Q-s

API tasemel 8 (Android 2.2 Froyo) tutvustas Google -öised kvalifikatsioonimängud ressursside pärast. Rakenduste arendajad saavad päeva- ja öörežiimi vahel vahetada, kasutades funktsiooni setNightMode in UiModeManager. Siiski nõuab setNightMode, et seade oleks autorežiimis või dokitud režiimis, kui seade on API tasemel 22 või madalam. AppCompat v23.2 tõi kaasa DayNighti juurutamise, võimaldades rakendustel nagu Reddit klientidel automaatselt päeva- ja ööteemade vahel lülituda, kasutades AppCompatDeletegate.setDefaultNightMode(). API tase 28 (Android 9 Pie) tegi MODE_NIGHT_FOLLOW_SYSTEM (vaikeväärtus setDefaultNightMode()) järgima kasutaja määratud süsteemiseadeid jaotises Seaded --> Arendaja valikud --> Öörežiim. Google on töötan DayNight API täiustused rakenduses AppCompat, eriti seoses "sageli esinevate probleemidega", nagu probleemid WebView'ga. Lõpuks on Google lubanud öörežiimi tuvastamine ja on blokeeritud rakendused ilma MODIFY_DAY_NIGHT_MODE allkiri/privilegeeritud luba Android Q raamistikus. Viimane muudatus tähendab, et rakendused ei saa enam kogu süsteemi hõlmavat öörežiimi muuta, mis võimaldas rakenduse Messages hiljutisel veal Android Pie kasutajaid segadusse ajada.

Värskendus: An värskendada juurde AndroidX tugiteek muudab arendajatel lihtsamaks oma rakendustes tumedate režiimide automaatse lubamise, kui seade lülitub akusäästurežiimi.

Tumeda režiimi sundimine Android Q-s

Sellistel rakendustel nagu Snapchat, Slack, AOSP e-post, AOSP Messaging, AOSP Dialer ja paljudel muudel on ööressursi kvalifikatsioonid, isegi kui need ei paku kasutajale võimalust öörežiimis rakendust kasutada. Teised rakendused, millel ei ole kõvakodeeritud ööressursside tähiseid, nagu Facebook ja Instagram, võivad, kuid ei pruugi hea välja näha, kui Android Q tume teema alistamine on sisse lülitatud. Instagram näeb hea välja, samas kui Facebook vajab palju tööd. Minu testimise põhjal erineb öise režiimi alistamise valik arendaja väga palju värvide ümberpööramisest juurdepääsetavuse seadetes – võib-olla Google kavatseb selle funktsiooni abil aidata arendajatel luua oma rakendustele tumedaid režiime, samal ajal kui Android Q arendaja eelvaated on jätkuv. Me ei tea täpselt, kuidas see funktsioon töötab, enne kui Android Q lähtekood on välja antud või Google avaldab selle kohta dokumentatsiooni.

Tumeda režiimi alistamine Android Q-s on enim rikkis rakendustes, mis kasutavad WebViews.

"Pikslivärvi maksumusGoogle'i Chris Banesi ja Alan Viverette'i kõnes julgustab duo arendajaid tumedaid teemasid rakendama järgmiselt:

  • DayNight API kasutamine rakenduses AppCompat. Börsividinad reageerivad automaatselt öörežiimi muudatustele või saate lisada lüliti ka oma rakendusse.
  • Ülekatteteemade dünaamiline rakendamine käitusajal, kutsudes välja getTheme().applyStyle(). Lisateavet leiate sellest varasemast vestlusest siin.
  • Rakenduse struktureerimine nii, et see tugineks teemaatribuutidele, nagu colorForeground, colorControlNormal, colorAccent jne.
  • Teie ressursside jaoks lisatakse öö kvalifikatsioonid. -öiseid kvalifikatsioone tuleks kasutada ressursside puhul, mille teemavärve on raske eraldada.
  • Pööratud värvide režiimi lubamine (Seaded --> Värvid --> Värvide ümberpööramine), et saada kiire ülevaade sellest, kuidas teie rakendus pimedas režiimis välja näeb. Kui soovite teha oma rakendusest ümberpööratud värvidega ekraanipilti, peaksite teadma, et värvide ümberpööramist ekraanipildil ei kuvata.

Väljalaskmisel laieneb Android Q tume režiim esimese osapoole Google'i rakendustele, kuid loodame, et kolmanda osapoole rakendused võtavad oma rakendustesse kiiresti kasutusele tumedad teemad. Lisaks loodame näha, et kui kasutaja lubab kogu süsteemi hõlmava sätte, muutub rohkem rakendusi automaatselt ööteemaks. Praegu on Google'i kontaktid ainus rakendus, mis muudab automaatselt teemasid, kui Android Q süsteemiülene tume režiim on lubatud. Vaatame, kuidas asjad paari kuu pärast välja tulevad, kui Android Q välja tuleb, aga kõigile arendajatele, kes seda loevad: võtke omaks varjukülg!

LineageOS-i kaasautori sisendiga Joey Rizzoli.