Vse, kar do zdaj vemo o temnem načinu Android Q

Googlova naslednja različica Androida, Android 10 Q, bo vključevala temni način za celoten sistem. Kako bodo aplikacije v sistemu Android Q obravnavale temne teme?

V našem prva objava s podrobnostmi o spremembah, ki smo jih našli v gradnji Android Q v razvoju, ki smo jo pridobili, smo na kratko spregovorili o temnem načinu, ki je vse navdušil. Če povzamemo, Googlov vgrajeni temni način v sistemu Android Q je mogoče omogočiti prek nove možnosti »Temni način« v nastavitvah zaslona. Temni način je lahko vedno izklopljen, vedno vklopljen ali samodejno omogočen ponoči in onemogočen zjutraj. Temni način tematizira SystemUI (plošča za glasnost, meni za napajanje, plošča s hitrimi nastavitvami, obvestila), aplikacijo Nastavitve in ogrodje (barva poudarka itd.).

Zgoraj: temni način v sistemu Android Q na telefonu Google Pixel 3 XL. Spodaj: Svetla tema v sistemu Android Pie na telefonu Google Pixel 2 XL.

Vendar pa Google ne želi le temnih elementov sistema. Prav tako si prizadevajo zagotoviti, da vse njihove lastne aplikacije podpirajo temni način, ko uporabnik obrne stikalo. Googlove aplikacije, kot so

Sporočila, Telefon, Kontakti, Novice, Igraj igre, YouTube, Zemljevidiin še več so bili posodobljeni s preklopi za temni način, obrnjeni proti uporabniku, medtem ko so druge aplikacije podobne Google Chrome še vedno odpravlja morebitne zanke pred Google I/O 2019. Google je prav tako začel spodbujati razvijalce aplikacij tretjih oseb sprejmite temne teme v njihovih aplikacijah, ker podjetje priznava, da so odlične za življenjsko dobo baterije (vsaj na pametnih telefonih z zasloni OLED.)

Da bi razvijalcem pomagal posodobiti svoje aplikacije s podporo za temni način Android Q, Google ponuja novo možnost za razvijalce, ki vse aplikacije prisili, da preidejo v temni način. Ta možnost ni namenjena uporabnikom, ki želijo vse stvari v temnem načinu, ker sistem težko izbere prave barve za vse aplikacije, ki nimajo izvornega temnega načina. Na srečo je Google že postavil temelje za aplikacije, ki podpirajo temne načine, in že obstaja veliko aplikacij, ki videti v redu z omogočeno možnostjo preglasitve temnega načina v sistemu Android Q, tudi če aplikacija nima temnega načina, usmerjenega v uporabnika preklop. Tukaj je zbirka posnetkov zaslona iz 24 različnih aplikacij, ki prikazujejo, kako so videti, ko jim je vsiljen temni način s preklopom za preglasitev temnega načina v sistemu Android Q. Vsaka aplikacija ne bo videti tako dobro, kot vam bom pokazal spodaj.

Implementacija temnega načina v sistemu Android Q

V API ravni 8 (Android 2.2 Froyo) je Google predstavil - nočne kvalifikacije za vire. Razvijalci aplikacij bi lahko preklapljali med dnevnim in nočnim načinom z uporabo setNightMode in UiModeManager. Vendar pa setNightMode zahteva, da je naprava v avtomobilskem načinu ali v priklopljenem načinu, če je naprava na ravni API 22 ali nižji. AppCompat v23.2 prinesel implementacijo DayNight, ki omogoča aplikacijam, kot so odjemalci Reddit, samodejno preklapljanje med dnevnimi in nočnimi temami glede na čas dneva z uporabo AppCompatDeletegate.setDefaultNightMode(). Stopnja API-ja 28 (Android 9 Pie) je omogočila, da MODE_NIGHT_FOLLOW_SYSTEM (privzeta vrednost setDefaultNightMode()) sledi uporabniško določeni sistemski nastavitvi v nastavitvah --> Možnosti za razvijalce --> Nočni način. Google je delati na izboljšave API-ja DayNight v aplikaciji AppCompat, zlasti v zvezi s "pogosto pojavljajočimi težavami", kot so težave z WebView. Nazadnje je Google omogočil zaznavanje nočnega načina in ima blokirane aplikacije brez MODIFY_DAY_NIGHT_MODE podpis/privilegirano dovoljenje v ogrodju Android Q. Slednja sprememba pomeni, da aplikacije ne morejo več spreminjati nočnega načina celotnega sistema, kar je omogočilo, da je nedavna napaka v aplikaciji Messages zmedla uporabnike v Android Pie.

Nadgradnja: An nadgradnja do AndroidX knjižnica podpore bo razvijalcem olajšala samodejno omogočanje temnih načinov v svojih aplikacijah, ko naprava preide v način varčevanja z baterijo.

Vsiljevanje temnega načina v sistemu Android Q

Aplikacije, kot so Snapchat, Slack, AOSP Email, AOSP Messaging, AOSP Dialer in mnoge druge, imajo kvalifikatorje virov -noč, tudi če uporabniku ne nudijo načina uporabe aplikacije z nočnim načinom. Druge aplikacije, ki nimajo trdo kodiranih kvalifikatorjev virov -night, kot sta Facebook in Instagram, so lahko ali pa tudi ne izgledajo dobro z vklopljeno preglasitveno temno temo Android Q. Instagram je videti v redu, medtem ko je za Facebook potrebno veliko dela. Po mojem testiranju se možnost razvijalca za preglasitev nočnega načina zelo razlikuje od barvne inverzije v nastavitvah dostopnosti – morda Google namerava s to funkcijo pomagati razvijalcem ustvariti temne načine za svoje aplikacije, medtem ko so Android Q Developer Previews v teku. Ne bomo natančno vedeli, kako ta funkcija deluje, dokler ne bo izdana izvorna koda za Android Q ali Google ne bo objavil dokumentacije zanjo.

Preglasitev temnega načina v Androidu Q je najbolj pokvarjena v aplikacijah, ki uporabljajo WebViews.

v "Cena barve pikslov" govora, ki sta ga predstavila Chris Banes in Alan Viverette iz Googla, dvojec spodbuja razvijalce k implementaciji temnih tem z:

  • Uporaba API-ja DayNight v AppCompat. Delniški pripomočki se samodejno odzivajo na spremembe v nočnem načinu, lahko pa dodate tudi stikalo v svoji aplikaciji.
  • Dinamična uporaba prekrivnih tem med izvajanjem s klicem getTheme().applyStyle(). Več informacij lahko najdete v tem prejšnjem pogovoru tukaj.
  • Strukturirajte svojo aplikacijo tako, da se zanaša na uporabo atributov teme, kot so colorForeground, colorControlNormal, colorAccent itd.
  • Dodajanje kvalifikatorjev -noči za vaše vire. -nočne kvalifikatorje je treba uporabiti za vire, ki težko izločijo barvo teme.
  • Omogočanje načina obrnjenih barv (Nastavitve --> Barve --> Inverzija barv), da dobite hitro predstavo o tem, kako bo vaša aplikacija videti v temnem načinu. Če želite narediti posnetek zaslona svoje aplikacije z obrnjenimi barvami, se morate zavedati, da barvna inverzija ne bo prikazana na posnetku zaslona.

Ob izdaji se bo temni način Androida Q razširil na Googlove aplikacije prvega proizvajalca, vendar upamo, da bodo aplikacije drugih proizvajalcev hitro sprejele temne teme v svoje aplikacije. Poleg tega upamo, da bo več aplikacij samodejno spremenilo svoje nočne teme, ko uporabnik omogoči sistemsko nastavitev. Trenutno je edina aplikacija, ki sem jo videl in ki samodejno spreminja teme, ko je omogočen temni način sistema Android Q, Google Stiki. Bomo videli, kako se bodo stvari obrnile čez nekaj mesecev, ko bo izdan Android Q, a vsem razvijalcem, ki to berete: sprejmite temno plat!

S prispevkom sodelavca LineageOS Joey Rizzoli.