Minden, amit eddig tudtunk az Android Q sötét üzemmódjáról

A Google következő Android-verziója, az Android 10 Q rendszerszintű sötét módot fog tartalmazni. Hogyan kezelik az Android Q alkalmazásai a sötét témákat?

Miénkben első poszt részletezve a fejlesztés alatti Android Q build során talált változásokat, röviden beszéltünk a sötét módról, amely mindenkit izgatott. Összefoglalva, a Google beépített sötét módja az Android Q rendszerben engedélyezhető a Kijelzőbeállítások új „Sötét mód” opciójával. A Sötét mód lehet mindig ki, mindig bekapcsolva, vagy automatikusan bekapcsolható éjszaka, reggel pedig letiltható. A Sötét mód a SystemUI-t (hangerőpanel, bekapcsolómenü, gyorsbeállítások panel, értesítések), a Beállítások alkalmazást és a keretrendszert (kiemelési szín stb.) témázza.

Fent: Sötét mód Android Q-ban a Google Pixel 3 XL készüléken. Lent: Világos téma az Android Pie alkalmazásban a Google Pixel 2 XL készüléken.

A Google azonban nem csak azt akarja, hogy a rendszerelemek sötét témájúak legyenek. Dolgoznak azon is, hogy minden saját alkalmazásuk támogassa a sötét módot, amikor a felhasználó átváltja a kapcsolót. Google alkalmazások, mint pl

üzenetek, Telefon, Kapcsolatok, hírek, Játékokat játszani, Youtube, Térképek, és még sok más frissítve lett a felhasználó felé néző sötét mód kapcsolókkal, míg más alkalmazások pl Google Chrome még mindig elhárítanak minden törést a Google I/O 2019 előtt. A Google arra is ösztönözni kezdte a harmadik féltől származó alkalmazásfejlesztőket felkarolni a sötét témákat alkalmazásaikban, mert a cég elismeri, hogy kiválóak az akkumulátor-élettartam szempontjából (legalábbis az OLED-kijelzővel rendelkező okostelefonokon).

Annak érdekében, hogy a fejlesztők frissíthessék alkalmazásaikat az Android Q sötét üzemmódjának támogatásával, a Google új fejlesztői opciót kínál, amely úgy tűnik, hogy minden alkalmazást sötét módra kényszerít. Ez az opció nem azoknak a felhasználóknak szól, akik mindent sötét módba szeretnének állítani, mert a rendszernek nehéz kiválasztani a megfelelő színeket minden olyan alkalmazáshoz, amely nem rendelkezik natív sötét móddal. Szerencsére a Google már lefektette az alapot a sötét módokat támogató alkalmazásokhoz, és már sok olyan alkalmazás létezik jól néz ki, ha az Android Q felülírja a sötét módot, még akkor is, ha az alkalmazás nem rendelkezik a felhasználó felé néző sötét móddal kapcsolót. Íme egy gyűjtemény 24 különböző alkalmazásból származó képernyőképekből, amelyek bemutatják, hogyan néznek ki, amikor sötét módot kényszerítenek rájuk az Android Q felülbíráló sötét mód kapcsolójával. Nem minden alkalmazás fog olyan jól kinézni, amint azt alább megmutatom.

A Sötét mód megvalósítása Android Q-ban

Az API 8-as szintjén (Android 2.2 Froyo) a Google bemutatta - éjszakai selejtezők forrásokért. Az alkalmazásfejlesztők válthatnak nappali és éjszakai mód között a setNightMode in segítségével UiModeManager. A setNightMode azonban megköveteli, hogy az eszköz autós módban vagy dokkolt módban legyen, ha az eszköz API 22-es vagy alacsonyabb szinten van. AppCompat v23.2 hozta a DayNight implementációt, lehetővé téve az olyan alkalmazások számára, mint a Reddit kliensek, a napszaktól függően automatikusan válthatnak nappali és éjszakai témák között az AppCompatDeletegate.setDefaultNightMode() segítségével. A 28-as API-szint (Android 9 Pie) a MODE_NIGHT_FOLLOW_SYSTEM-re (a setDefaultNightMode() alapértelmezett értéke) a felhasználó által megadott rendszerbeállításokat követi a Beállítások --> Fejlesztői beállítások --> Éjszakai mód menüpontban. A Google az dolgozik az AppCompat DayNight API-jának fejlesztései, különösen a „gyakran előforduló problémák”, például a WebView-val kapcsolatos problémák tekintetében. Végül a Google engedélyezte éjszakai üzemmód érzékelése és van blokkolt alkalmazások nélkül a MODIFY_DAY_NIGHT_MODE aláírás/kiváltságos engedély az Android Q keretrendszerében. Ez utóbbi változás azt jelenti, hogy az alkalmazások már nem módosíthatják a rendszerszintű éjszakai üzemmódot, ami lehetővé tette, hogy a Messages legutóbbi hibája megzavarja az Android Pie felhasználókat.

Frissítés: An frissítés hoz AndroidX A támogatási könyvtár megkönnyíti a fejlesztők számára, hogy automatikusan engedélyezzék a sötét módokat alkalmazásaikban, amikor az eszköz akkumulátorkímélő módba lép.

Sötét mód kényszerítése Android Q-ban

Az olyan alkalmazások, mint a Snapchat, a Slack, az AOSP Email, az AOSP Messaging, az AOSP Dialer és még sok más, rendelkeznek éjszakai erőforrás-minősítőkkel, még akkor is, ha ezek nem biztosítják a felhasználó számára az alkalmazás éjszakai üzemmódban történő használatát. Más alkalmazások, amelyek nem rendelkeznek keményen kódolt éjszakai erőforrás-minősítőkkel, például a Facebook és az Instagram, jól néznek ki, ha az Android Q felülbíráló sötét témája be van kapcsolva. Az Instagram jól néz ki, míg a Facebooknak sok munkára van szüksége. Tesztelésem szerint az éjszakai mód Fejlesztői opció felülírása nagyon különbözik a Kisegítő lehetőségek beállításaiban található színfordítástól – talán A Google célja, hogy ez a funkció segítse a fejlesztőket abban, hogy sötét módokat hozzanak létre alkalmazásaikhoz, miközben az Android Q Developer Previews folyamatban lévő. Nem fogjuk tudni pontosan, hogyan működik ez a funkció, amíg az Android Q forráskódja meg nem jelenik, vagy a Google közzé nem teszi a dokumentációt.

A sötét mód felülbírálása az Android Q rendszerben leginkább a WebView-t használó alkalmazásokban hibás.

Ban,-ben "Egy pixel szín költségeA Google-tól Chris Banes és Alan Viverette előadásában a páros sötét témák megvalósítására ösztönzi a fejlesztőket:

  • A DayNight API használata az AppCompatban. A részvénymodulok automatikusan reagálnak az éjszakai mód változásaira, vagy hozzáadhat egy kapcsolót az alkalmazásban is.
  • Fedvénytémák dinamikus alkalmazása futás közben a getTheme().applyStyle() meghívásával. További információ ebben a korábbi beszélgetésben található itt.
  • Az alkalmazás strukturálása olyan témaattribútumokra támaszkodva, mint a colorForeground, colorControlNormal, colorAccent stb.
  • Éjszakai minősítők hozzáadása az erőforrásokhoz. -Az éjszakai selejtezőket olyan forrásokhoz kell használni, amelyekből nehéz kivonni a téma színeit.
  • Engedélyezze a fordított színek módot (Beállítások --> Színek --> Színinverzió), hogy gyorsan képet kapjon arról, hogyan fog kinézni az alkalmazás sötét módban. Ha képernyőképet szeretne készíteni az alkalmazásról fordított színekkel, vegye figyelembe, hogy a a színek megfordítása nem jelenik meg a képernyőképen.

A kiadáskor az Android Q sötét üzemmódja kiterjed majd a saját Google-alkalmazásokra is, de reméljük, hogy a harmadik féltől származó alkalmazások gyorsan átveszik a sötét témákat az alkalmazásaikba. Továbbá reméljük, hogy több alkalmazás automatikusan átvált éjszakai témájára, amikor a felhasználó engedélyezi a rendszerszintű beállítást. Jelenleg az egyetlen olyan alkalmazás, amelyet láttam, és amely automatikusan megváltoztatja a témát, amikor az Android Q rendszerszintű sötét módját engedélyezi, az a Google Névjegyek. Meglátjuk, hogyan alakulnak a dolgok néhány hónap múlva, amikor megjelenik az Android Q, de minden fejlesztőnek, aki ezt olvassa: fogadja el a sötét oldalt!

A LineageOS közreműködőjének bemenetével Joey Rizzoli.