Kitoje „Google“ „Android“ versijoje „Android 10 Q“ bus visos sistemos tamsus režimas. Kaip „Android Q“ programos tvarkys tamsias temas?
Mūsų pirmas postas detalizuodami pakeitimus, kuriuos radome iš kuriamos „Android Q“ versijos, kurią gavome, trumpai kalbėjome apie tamsųjį režimą, kuris visus džiugina. Apibendrinant galima pasakyti, kad „Google“ įtaisytąjį tamsųjį režimą „Android Q“ galima įjungti naudojant naują „Tamsaus režimo“ parinktį ekrano nustatymuose. Tamsus režimas gali būti visada išjungtas, visada įjungtas arba automatiškai įjungtas naktį ir išjungtas ryte. Tamsiojo režimo temos yra SystemUI (garsumo skydelis, maitinimo meniu, sparčiųjų nustatymų skydelis, pranešimai), nustatymų programa ir sistema (akcento spalva ir kt.).
Viršuje: tamsusis režimas „Android Q“, esantis „Google Pixel 3 XL“. Žemiau: šviesi tema „Android Pie“, esanti „Google Pixel 2 XL“.
Tačiau „Google“ nori, kad sistemos elementai būtų ne tik tamsios temos. Jie taip pat stengiasi įsitikinti, kad visos jų pirmosios šalies programos palaiko tamsųjį režimą, kai vartotojas perjungia jungiklį. „Google“ programėlės kaip
Žinutės, Telefonas, Kontaktai, žinios, Žaisti žaidimus, YouTube, Žemėlapiai, ir daugiau buvo atnaujinta naudojant į vartotoją nukreiptus tamsaus režimo perjungiklius, o kitos programos mėgsta Google Chrome vis dar šalina visus trūkumus prieš „Google I/O 2019“. „Google“ taip pat pradėjo skatinti trečiųjų šalių programų kūrėjus apima tamsias temas savo programose, nes bendrovė pripažįsta, kad jos puikiai tinka akumuliatoriaus veikimo trukmei (bent jau išmaniuosiuose telefonuose su OLED ekranais).Siekdama padėti kūrėjams atnaujinti savo programas palaikydama tamsųjį „Android Q“ režimą, „Google“ siūlo naują kūrėjo parinktį, kuri, atrodo, priverčia visas programas pereiti į tamsųjį režimą. Ši parinktis nėra skirta vartotojams, kurie nori įjungti tamsųjį režimą, nes sistemai sunku pasirinkti tinkamas spalvas visoms programoms, kurios neturi vietinio tamsaus režimo. Laimei, „Google“ jau padėjo pagrindus programoms, kurios palaikytų tamsiuosius režimus, ir jau yra daug programų atrodo gerai, kai įjungta „Android Q“ tamsaus režimo nepaisymo parinktis, net jei programoje nėra vartotojui skirto tamsaus režimo perjungti. Pateikiame 24 skirtingų programų ekrano kopijų rinkinį, kuriame parodyta, kaip jos atrodo, kai įjungiamas tamsusis režimas naudojant „Android Q“ tamsaus režimo nepaisymo perjungiklį. Ne kiekviena programa atrodys taip gerai, kaip parodysiu toliau.
Tamsaus režimo įdiegimas „Android Q“.
8 API lygyje („Android 2.2 Froyo“) pristatė „Google“. -naktinės atrankos varžybos už išteklius. Programų kūrėjai galėjo perjungti dienos ir nakties režimus naudodami setNightMode in UiModeManager. Tačiau „setNightMode“ reikalauja, kad įrenginys būtų įjungtas automobilio režimu arba prijungtas prie doko, jei įrenginio API lygis 22 arba žemesnis. AppCompat v23.2 pristatė „DayNight“ diegimą, leidžiantį programoms, pvz., „Reddit“ klientams automatiškai perjungti dienos ir nakties temas pagal paros laiką, naudojant AppCompatDeletegate.setDefaultNightMode(). 28 API lygis („Android 9 Pie“) sukurtas MODE_NIGHT_FOLLOW_SYSTEM (numatytoji setDefaultNightMode() reikšmė) atitinka vartotojo nustatytus sistemos nustatymus, esančius skiltyje „Nustatymai“ –> „Kūrėjo parinktys“ –> „Naktinis režimas“. Google yra dirbu ties „AppCompat“ DayNight API patobulinimai, ypač susiję su „dažnai pasitaikančiomis problemomis“, pvz., „WebView“ problemomis. Galiausiai „Google“ įgalino naktinio režimo aptikimas ir turi užblokuotos programos be MODIFY_DAY_NIGHT_MODE parašas / privilegijuotas leidimas „Android Q“ sistemoje. Pastarasis pakeitimas reiškia, kad programos nebegali keisti visos sistemos naktinio režimo, o tai leido neseniai įvykusiam „Messages“ riktam suklaidinti „Android Pie“ naudotojus.
Atnaujinimas: An atnaujinti prie AndroidX palaikymo biblioteka leis kūrėjams lengviau automatiškai įjungti tamsius režimus savo programose, kai įrenginys pereina į akumuliatoriaus taupymo režimą.
Tamsaus režimo priverstinis režimas „Android Q“.
Tokios programos kaip „Snapchat“, „Slack“, „AOSP Email“, „AOSP Messaging“, „AOSP Dialer“ ir daugelis kitų turi naktinių išteklių kvalifikatorius, net jei jie nesuteikia vartotojui būdo naudotis programa naktiniu režimu. Kitos programos, kuriose nėra užkoduotų naktinių išteklių kvalifikatorių, pvz., „Facebook“ ir „Instagram“, gali atrodyti gerai arba ne, kai įjungta „Android Q“ nepaisymo tamsioji tema. „Instagram“ atrodo gerai, o „Facebook“ reikia daug dirbti. Mano bandymai rodo, kad naktinio režimo nepaisymo kūrėjo parinktis labai skiriasi nuo spalvų inversijos pritaikymo neįgaliesiems nustatymuose – galbūt „Google“ siekia, kad ši funkcija padėtų kūrėjams kurti tamsius režimus savo programoms, o „Android Q“ kūrėjų peržiūros yra vykstantis. Vis dėlto tiksliai nežinosime, kaip ši funkcija veikia, kol nebus išleistas „Android Q“ šaltinio kodas arba „Google“ nepaskelbs jo dokumentacijos.
„Android Q“ tamsaus režimo nepaisymas labiausiai sugenda programose, kuriose naudojami „WebView“.
Viduje "Pikselių spalvos kainaPokalbyje, kurį pristatė Chrisas Banesas ir Alanas Viverette iš Google, duetas skatina kūrėjus įgyvendinti tamsias temas:
- DayNight API naudojimas programoje AppCompat. Akcijų valdikliai automatiškai reaguoja į naktinio režimo pokyčius arba galite pridėti jungiklį savo programoje.
- Dinamiškas perdangos temų taikymas vykdymo metu skambinant getTheme().applyStyle(). Daugiau informacijos rasite šiame ankstesniame pokalbyje čia.
- Programos struktūrizavimas taip, kad būtų naudojami temos atributai, pvz., colorForeground, colorControlNormal, colorAccent ir kt.
- Pridedami jūsų išteklių naktiniai kvalifikatoriai. -naktiniai kvalifikatoriai turėtų būti naudojami ištekliams, kuriems sunku išgauti temos spalvas.
- Įgalinkite apverstų spalvų režimą (Nustatymai -> Spalvos -> Spalvų inversija), kad galėtumėte greitai suprasti, kaip programa atrodys tamsiuoju režimu. Jei norite padaryti programos ekrano kopiją su apverstomis spalvomis, turėtumėte žinoti, kad spalvų inversija nebus rodoma ekrano kopijoje.
Išleidus „Android Q“ tamsusis režimas bus taikomas pirmosios šalies „Google“ programoms, tačiau tikimės, kad trečiųjų šalių programos greitai pritaikys tamsiąsias temas savo programose. Be to, tikimės, kad daugiau programų automatiškai pasikeis į naktines temas, kai vartotojas įjungs visos sistemos nustatymą. Šiuo metu vienintelė programa, kurią mačiau, automatiškai keičia temas, kai įjungtas visos sistemos tamsusis režimas „Android Q“, yra „Google“ kontaktai. Pamatysime, kaip viskas klostysis po poros mėnesių, kai bus išleista „Android Q“, bet visiems kūrėjams, kurie tai skaito: pasinaudokite tamsiąja puse!
Su „LineageOS“ bendraautorio įvestimi Joey Rizzoli.