Ako zmeniť ikony navigačného panela alebo preusporiadať tlačidlá bez rootu

V tomto návode vám ukážeme, ako zmeniť ikony na navigačnom paneli alebo zmeniť usporiadanie tlačidiel, ak používate Nougat. Nie je potrebný žiadny root.

Tí z vás, ktorí bežia prví Ukážka vývojára systému Android O možno sa pohrával s jeho skrytým prispôsobenie navigačnej lišty nachádza v SystemUI Tuner. Tento nástroj na prispôsobenie navigačnej lišty je v AOSP v skutočnosti už niekoľko mesiacov, ale myslelo sa, že jediný spôsob, ako sa k nemu dostať v systéme Android Nougat, je úprava súboru APK používateľského rozhrania systému, čo by samozrejme vyžadovalo prístup root. Až tento týždeň sme zistili, že skrytý prispôsobovač navigačnej lišty Android Nougat to dokáže skutočne pristupovať bez potreby prístupu root, vlastnej pamäte ROM alebo systému používateľského rozhrania. Pomocou tejto funkcie môžeme zmeniť ikony navigačnej lišty, zameniť klávesy alebo pridať ďalšie tlačidlá.

To je pravda - je možné upraviť navigačný panel na úplne zásobnej, nerootovanej ROM s uzamknutým bootloaderom. Funkčnosť, o ktorej si ľudia mysleli, že je obmedzená na Android O, je v skutočnosti prístupná každému, kto používa Android Nougat na zariadeniach Nexus, Pixel, OnePlus a niektorých telefónoch Sony, HTC a Motorola. Ak je na vašom zariadení spustený softvér, ktorý je blízky softvéru Google (ospravedlňujeme sa používateľom Samsung a Huawei/Honor), je pravdepodobné, že vaše zariadenie má skrytý nástroj na prispôsobenie navigačnej lišty AOSP, ktorý môžeme použiť. V tomto návode vám ukážem, ako môžete použiť nástroj na prispôsobenie navigačnej lišty 

zmeňte ikony tlačidiel na ľubovoľné alebo ich usporiadajte v ľubovoľnom poradí.

Navigačný panel Google Pixel na zariadení Nexus 6

Reverzná navigačná lišta na Nexus 6

Úprava navigačnej lišty – nastavenie

Požiadavky: Budete potrebovať zariadenie kompatibilné s prispôsobením navigačnej lišty AOSP. Pozrite si časť „kompatibilita“. v tomto vlákne. (Poznámka: OEM alebo typ vášho zariadenia nemusí byť uvedený v tomto vlákne. Jediný spôsob, ako s istotou zistiť, či je vaše zariadenie kompatibilné, je vyskúšať ho, čo vám ukážeme nižšie.

Existujú dva spôsoby, ako upraviť náš navigačný panel. Jeden je s aplikáciou a druhý cez príkazy prostredia ADB (takto aplikácia funguje). Pre úplnosť vám ukážeme oboje, ale všimnite si, že odteraz nemôžete upravovať ikony hlavného navigačného panela prostredníctvom aplikácie, kým vývojár neaktualizuje svoju aplikáciu tak, aby obsahovala túto funkciu.

Prvá vec, ktorú musíme urobiť, je uistiť sa, že je vôbec možné upraviť navigačnú lištu na vašom zariadení. Ak je vaše zariadenie jedným z tých, ktoré sú uvedené ako kompatibilné v Vlastné vlákno navigačného panela, potom je pravdepodobné, že to tak bude. Môžeme to overiť spustením krátkeho návodu, ktorý je súčasťou tejto aplikácie.

Nainštalujte aplikáciu z obchodu Google Play (a tiež prihláste sa na beta testovanie takže môžeme použiť jeho experimentálnu funkciu na preusporiadanie navigačnej lišty neskôr). Potom otvorte aplikáciu a pokračujte cez úvodné obrazovky. Vlastný navigačný panel vás požiada, aby ste mu udelili určité povolenie s názvom WRITE_SECURE_SETTINGS, aby ste mohli pokračovať v používaní aplikácie. Môžete to urobiť dvoma spôsobmi, ako je uvedené v žiadosti.

  1. Ak máte zakorenené zariadenie, otvorte ho Emulátor terminálu na svojom telefóne a zadaním mu udeľte prístup root su. Potom zadajte tento príkaz: pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS
  2. Ak vaše zariadenie nie je zakorenené, budete musieť udeliť povolenie prostredníctvom ADB. Otvorte na svojom počítači príkazový riadok/terminál a potom zadajte nasledujúci príkaz: adb shell pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS

Keď aplikácii udelíte toto povolenie prostredníctvom jednej z dvoch vyššie uvedených metód, aplikácia bude pokračovať v teste kompatibility. Ak sa vaša navigačná lišta nezmení, máte bohužiaľ smolu. Ak sa váš navigačný panel zmení a zobrazí tlačidlo so šípkou doprava, gratulujeme, že vaše zariadenie je podporované! Teraz môžeme prejsť k úprave našej navigačnej lišty.


Opätovné usporiadanie tlačidiel navigačnej lišty

Metóda aplikácie

Teraz, keď ste nastavili aplikáciu, je veľmi, veľmi jednoduché preusporiadať tlačidlá navigačnej lišty. Aby ste to mohli urobiť, musíte mať testovaciu beta verziu aplikácie Custom Navigation Bar, takže sa vráťte a pred pokračovaním sa uistite, že ste na beta kanáli.

Ak používate beta verziu, uvidíte sekciu s názvom experimentálne vylepšenia v hlavnej časti Nastavenia. Klepnite na to a uvidíte možnosti, ktoré vám umožnia nahradiť existujúce klávesy späť, domov a posledné. Tu môžete jednoducho preusporiadať svoje kľúče tak, že sa tlačidlo Späť zmení na tlačidlo Prehľad (nedávne) a tlačidlo Prehľad (Nedávne) sa zmení na tlačidlo Späť. Alebo ich zmeňte akýmkoľvek spôsobom, tu neexistujú žiadne skutočné obmedzenia. Po výmene klávesov sa môžete pohrať aj s možnosťami rozloženia v ponuke nastavení navigačnej lišty.

Metóda ADB

A tu je návod, ako urobiť to isté pomocou príkazov ADB, ak to chcete. Príkaz, ktorý budeme upravovať, je preferencia nastavenia Secure s názvom sysui_nav_bar. Táto preferencia je reťazec, ktorý obsahuje rozloženie navigačnej lišty. Predvolená štruktúra preferencie je nasledovná

space, back; home; recent, space

Kde medzera predstavuje prázdne miesto, ktoré oddeľuje klávesy navigačného panela od seba, a späť, domov a posledné predstavujú 3 predvolené tlačidlá na navigačnom paneli. Ak chceme napríklad zameniť zadný a posledný kľúč, museli by sme reťazec upraviť nasledovne

space, recent; home; back, space

Poznámka: ak sa pokúšate zadať niektorý z nasledujúcich príkazov z prostredia rootovaného prostredia, ako napr Emulátor terminálu v telefóne, potom pred odoslaním budete musieť z príkazov vynechať „adb shell“ ich.

Teraz, aby sme skutočne upravili tento reťazec, musíme použiť príkaz shellu ADB s touto syntaxou

adb shell settings put secure sysui_nav_bar "STRING"

Príkaz, ktorý by sme poslali na výmenu nedávnych a spätných kľúčov, by teda vyzeral takto

adb shell settings put secure sysui_nav_bar "space, recent; home; back, space"

Ako asi tušíte, je to pomerne flexibilné. Môžeme presúvať klávesy, ako chceme, úpravou hodnoty reťazca preferencie. Môžeme napríklad zarovnať klávesy preklopenej navigačnej lišty doľava alebo doprava tak, že zmeníme umiestnenie týchto dvoch medzier:

Zarovnané doľava:

adb shell settings put secure sysui_nav_bar "recent; home; back, space, space"

Zarovnané vpravo:

adb shell settings put secure sysui_nav_bar "space, space, recent; home; back"

Môžeme však zmeniť aj tlačidlá navigačnej lišty tak, aby boli niečo úplne iné ako štandardné klávesy späť, domov alebo nedávne klávesy, ako napríklad odoslanie jedného z mnohých KeyEvents. Túto skutočnosť využijeme v ďalšej časti, kde vám ukážeme, ako zmeniť ikony na tlačidlách navigačnej lišty.


Vlastné ikony navigačného panela

Teraz sa nasledujúca časť nemusí zdať ako veľká vec, pretože existuje početnéaplikáciena Obchod Play, ktorý sľubuje zmenu navigačného panela bez root. A fungujú – mnohí používatelia však hlásia, že tieto aplikácie sú chybné v určitých aplikáciách, ako je Chrome, pri prehrávaní videa na celú obrazovku alebo v niektorých hrách. Mnohé z týchto aplikácií navyše vyžadujú, aby ste povolili službu dostupnosti na monitorovanie aplikácií, aby ste vedeli, kedy je potrebné zmeniť farbu navigačného panela, môže znížiť výkon. Nakoniec, ak sa na tieto aplikácie spoliehate príliš dlho, môžete byť zrazu prekvapení, keď uvidíte, že po spustení systému Android O prestanú fungovať, pretože ďalšia verzia systému Android je zabíjanie schopnosti týchto aplikácií na kreslenie nad prvkami používateľského rozhrania systému.

Metóda, ktorú používame, je založená na implementácii tuneru navigačnej lišty od spoločnosti Google, takže nemá žiadny z týchto problémov. V súčasnosti však chceme upozorniť na jeden problém: ak sa rozhodnete použiť túto metódu na úpravu tlačidla Domov, potom dlho stlačenie tlačidla domov už nebude fungovať čo znamená, že už nemôžete rýchlo pristupovať k Asistentovi Google z tlačidla Domov. Ak ste s tým v poriadku, tu je návod, ako zmeniť ikony na navigačnom paneli.

Prvá vec, ktorú budete musieť urobiť, je stiahnuť si ikony, ktorými chcete nahradiť predvolené ikony klávesov navigačného panela. Poskytnem vám odkazy na stiahnutie, aby ste získali ikony navigačného panela Google Pixel, ale ak chcete niečo iné, je na vás, aby ste si našli svoje vlastné ikony. Budete potrebovať ikony vo formáte PNG a pokiaľ ide o veľkosť, veľkosť potrebných ikon môžete určiť vyhľadaním metriky hustoty zobrazenia zariadenia na Material.io a koreluje to s an referenčná tabuľka veľkosti ikony.

Poďakovanie za extrahovanie týchto ikon navigačného panela Google Pixel patrí senior členovi XDA dariomrk. Stiahnuť ▼ tento archív, ak máte 1920x1080p displej a toto, ak máte displej s rozlíšením 2560 x 1440p. Extrahujte obsah ktoréhokoľvek súboru zip do priečinka s názvom „NavIcons“ v koreňovom adresári vášho úložiska.

Keď máte ikony na správnom mieste, zadajte nasledujúci príkaz shellu ADB (upozornenie, je dlhý):

adb shell settings put secure sysui_nav_bar "space, key(4:file:///storage/emulated/0/NavIcons/back.png);key(3:file:///storage/emulated/0/NavIcons/home.png);key(187:file:///storage/emulated/0/NavIcons/recents.png),space"

Tento príkaz nahradí klávesy späť, domov a nedávne kľúčovými udalosťami, ktoré vykonávajú rovnakú funkciu. Najmä chrbát je nahradený KEYCODE_BACK, domov je nahradený KEYCODE_HOMEa posledný sa nahrádza výrazom KEYCODE_APP_SWITCH. Tieto kľúčové kódy vykonávajú presne rovnakú funkciu, ale pretože používame KeyEvents, môžeme určiť, akú ikonu pre ne chceme použiť. V tomto prípade ukazujeme na back.png, home.png a recents.png, ktoré sme uložili do /NavIcons.

Nahradením skladových kľúčov kľúčovými udalosťami však strácame schopnosť domovskej stránky dlhého stlačenia, pretože v súčasnosti neexistuje spôsob, ako rozpoznať udalosti dlhého stlačenia simulovaných kľúčových vstupov.

Uvedomujem si, že práve teraz sa táto metóda nemusí zdať ideálna alebo ľahko implementovateľná, ale v čase písania tohto článku nebola aplikácia Custom Navigation Bar aktualizovaná, aby podporovala pridávanie vlastných ikon. Momentálne je mojou metódou (čo je presne to, ako táto aplikácia funguje, a keď sa aplikácia aktualizuje, bude čeliť rovnakým obmedzeniam), ako môžete na navigačnom paneli získať akékoľvek vlastné ikony, ktoré chcete.


To je pre tento tutoriál všetko. V budúcich tutoriáloch ukážem potenciálne praktické využitie zmeny navigačného panela, najmä kontextovým spôsobom pomocou automatizačnej aplikácie, ako je Tasker. Nasleduj kategóriu návodov na XDA aby ste mali vždy aktuálne informácie o všetkých najnovších tipoch a trikoch, ktoré zverejňujeme.