Všetko, čo zatiaľ vieme o tmavom režime Android Q

Ďalšia verzia Androidu od Google, Android 10 Q, bude obsahovať tmavý režim pre celý systém. Ako budú aplikácie v systéme Android Q zvládať tmavé témy?

V našom prvý príspevok Pri podrobnom popise zmien, ktoré sme našli vo vývojovej zostave Android Q, ktorú sme získali, sme stručne hovorili o tmavom režime, ktorý všetkých nadchol. Aby sme to zhrnuli, vstavaný tmavý režim Google v systéme Android Q možno povoliť prostredníctvom novej možnosti „Tmavý režim“ v nastaveniach zobrazenia. Tmavý režim môže byť buď vždy vypnutý, vždy zapnutý, alebo automaticky zapnutý v noci a vypnutý ráno. Témy tmavého režimu SystemUI (panel hlasitosti, ponuka napájania, panel rýchlych nastavení, upozornenia), aplikácia Nastavenia a rámec (farba zvýraznenia atď.).

Hore: Tmavý režim v systéme Android Q na zariadení Google Pixel 3 XL. Nižšie: Svetlá téma v Android Pie na Google Pixel 2 XL.

Google však nechce, aby systémové prvky mali tmavú tematiku. Pracujú tiež na tom, aby všetky ich aplikácie prvej strany podporovali tmavý režim, keď používateľ prepne prepínač. Aplikácie Google ako

Správy, Telefón, Kontakty, Správy, Hrať hry, YouTube, Mapya ďalšie boli aktualizované pomocou prepínačov tmavého režimu pre používateľa, zatiaľ čo iné aplikácie ako Google Chrome stále riešia všetky problémy pred Google I/O 2019. Google tiež začal povzbudzovať vývojárov aplikácií tretích strán, aby to urobili prijať temné témy vo svojich aplikáciách, pretože spoločnosť priznáva, že sú skvelé pre výdrž batérie (aspoň na smartfónoch s displejmi OLED.)

S cieľom pomôcť vývojárom aktualizovať ich aplikácie podporou tmavého režimu Android Q, Google poskytuje novú možnosť pre vývojárov, ktorá zrejme núti všetky aplikácie prejsť do tmavého režimu. Táto možnosť nie je určená pre používateľov, ktorí chcú všetky veci stmaviť, pretože pre systém je ťažké vybrať správne farby pre všetky aplikácie, ktoré nemajú natívny tmavý režim. Našťastie Google už položil základy pre aplikácie na podporu tmavých režimov a už existuje veľa aplikácií, ktoré to dokážu vyzerať dobre so zapnutou možnosťou prepísania tmavého režimu v systéme Android Q, aj keď aplikácia nemá tmavý režim pre používateľa prepnúť. Tu je zbierka snímok obrazovky z 24 rôznych aplikácií, ktoré ukazujú, ako vyzerajú, keď je im vnútený tmavý režim pomocou prepínača tmavého režimu Android Q. Nie každá aplikácia bude vyzerať tak dobre, ako vám ukážem nižšie.

Implementácia tmavého režimu v systéme Android Q

V úrovni API 8 (Android 2.2 Froyo) predstavil Google - nočné kvalifikácie pre zdroje. Vývojári aplikácií mohli prepínať medzi denným a nočným režimom pomocou setNightMode in UiModeManager. SetNightMode však vyžaduje, aby bolo zariadenie v režime auta alebo v ukotvenom režime, ak je zariadenie na úrovni API 22 alebo nižšej. AppCompat v23.2 priniesol implementáciu DayNight, ktorá umožnila aplikáciám, ako sú klienti Reddit, automaticky prepínať medzi dennými a nočnými témami na základe dennej doby pomocou AppCompatDeletegate.setDefaultNightMode(). Úroveň API 28 (Android 9 Pie) urobila MODE_NIGHT_FOLLOW_SYSTEM (predvolená hodnota setDefaultNightMode()) podľa používateľského nastavenia systému v časti Nastavenia --> Možnosti vývojára --> Nočný režim. Google je pracuje na vylepšenia rozhrania DayNight API v AppCompat, najmä pokiaľ ide o „často sa vyskytujúce problémy“, ako sú problémy s WebView. Nakoniec Google povolil detekcia nočného režimu a má zablokované aplikácie bez MODIFY_DAY_NIGHT_MODE podpis/privilegované povolenie v rámci systému Android Q. Posledná zmena znamená, že aplikácie už nemôžu upravovať nočný režim v celom systéme, čo umožnilo nedávnej chybe Správy zmiasť používateľov v Android Pie.

Aktualizácia: An aktualizovať k AndroidX knižnica podpory vývojárom uľahčí automatické povolenie tmavých režimov vo svojich aplikáciách, keď zariadenie prejde do režimu šetrenia batérie.

Vynútenie tmavého režimu v systéme Android Q

Aplikácie ako Snapchat, Slack, AOSP Email, AOSP Messaging, AOSP Dialer a mnohé ďalšie majú kvalifikátory nočného zdroja, aj keď používateľovi neposkytujú spôsob, ako používať aplikáciu v nočnom režime. Iné aplikácie, ktoré nemajú pevne zakódované kvalifikátory nočného zdroja, ako napríklad Facebook a Instagram, môžu, ale nemusia vyzerať dobre, keď je zapnutá tmavá téma pre Android Q. Instagram vyzerá dobre, zatiaľ čo Facebook potrebuje veľa práce. Z môjho testovania je možnosť prepísania nočného režimu pre vývojárov veľmi odlišná od inverzie farieb v nastaveniach dostupnosti – možno Google má v úmysle túto funkciu pomôcť vývojárom vytvoriť tmavé režimy pre ich aplikácie, zatiaľ čo ukážky vývojárov pre Android Q sú prebiehajúce. Nebudeme však presne vedieť, ako táto funkcia funguje, kým nebude uvoľnený zdrojový kód pre Android Q alebo kým Google nezverejní k nemu dokumentáciu.

Prepísanie tmavého režimu v systéme Android Q je najviac poškodené v aplikáciách, ktoré používajú WebViews.

V "Náklady na farbu pixelov“ prednášku Chrisa Banesa a Alana Viverette zo spoločnosti Google, duo povzbudzuje vývojárov, aby implementovali temné témy:

  • Používanie rozhrania DayNight API v AppCompat. Akciové widgety automaticky reagujú na zmeny v nočnom režime, alebo môžete do aplikácie pridať aj prepínač.
  • Dynamické použitie prekryvných tém za behu volaním getTheme().applyStyle(). Viac informácií nájdete v tejto predchádzajúcej diskusii tu.
  • Štruktúrovanie aplikácie tak, aby sa spoliehalo na používanie atribútov tém, ako sú colorForeground, colorControlNormal, colorAccent atď.
  • Pridávanie nočných kvalifikácií pre vaše zdroje. -nočné kvalifikátory by sa mali používať pre zdroje, ktoré sa ťažko extrahujú farby témy.
  • Povolením režimu inverzných farieb (Nastavenia --> Farby --> Inverzia farieb) získate rýchlu predstavu o tom, ako bude vaša aplikácia vyzerať v tmavom režime. Ak chcete urobiť snímku obrazovky svojej aplikácie s obrátenými farbami, mali by ste vedieť, že inverzia farieb sa na snímke obrazovky nezobrazí.

Pri vydaní sa tmavý režim systému Android Q rozšíri na aplikácie Google prvej strany, ale dúfame, že aplikácie tretích strán rýchlo prijmú tmavé motívy do svojich aplikácií. Okrem toho dúfame, že viac aplikácií automaticky zmení svoje nočné témy, keď používateľ povolí nastavenie pre celý systém. Momentálne jedinou aplikáciou, ktorú som videl a ktorá automaticky mení motívy, keď je zapnutý tmavý režim systému Android Q v celom systéme, sú Kontakty Google. Uvidíme, ako sa veci vyvinú o pár mesiacov, keď bude vydaný Android Q, ale pre všetkých vývojárov, ktorí toto čítajú: prijmite temnú stránku!

So vstupom od prispievateľa LineageOS Joey Rizzoli.