În acest tutorial, vă vom arăta cum să schimbați pictogramele de pe bara de navigare sau să rearanjați butoanele dacă rulați Nougat. Nu este nevoie de root.
Aceia dintre voi care alergați primii Previzualizare pentru dezvoltatori Android O poate să fi jucat cu ea ascunsă personalizare bară de navigare situat în SystemUI Tuner. Acest personalizare a barei de navigare există de fapt în AOSP de luni de zile, dar se credea că singura modalitate de a-l accesa pe Android Nougat era printr-o modificarea APK-ului System UI, care, desigur, ar necesita acces root. Abia în această săptămână am descoperit că personalizarea ascunsă a barei de navigare pentru Android Nougat ar putea de fapt, să fie accesat fără a avea nevoie de acces root, un ROM personalizat sau un mod de interfață de utilizare a sistemului. Cu această caracteristică, putem schimba pictogramele barei de navigare, putem schimba tastele sau adăuga butoane suplimentare.
Așa este - este posibil să vă modificați bara de navigare pe un ROM complet stoc, nerădăcinat, cu un bootloader blocat. Funcționalitatea pe care oamenii o credeau limitată la Android O este de fapt accesibilă oricui rulează Android Nougat pe Nexus, Pixel, OnePlus și unele telefoane Sony, HTC și Motorola. Dacă dispozitivul dvs. rulează un software care este aproape de software-ul Google (ne pare rău utilizatorilor Samsung și Huawei/Honor), atunci este posibil ca dispozitivul dvs. să aibă personalizarea barei de navigare AOSP ascuns pe care îl putem folosi. În acest tutorial, vă voi arăta cum puteți utiliza personalizarea barei de navigare
schimbați pictogramele butoanelor în ceea ce doriți sau rearanjați-le în orice ordine doriți.Google Pixel Nav Bar pe Nexus 6
Modificarea barei de navigare - Configurare
Cerințe: Veți avea nevoie de un dispozitiv compatibil cu personalizarea barei de navigare AOSP. Consultați secțiunea „compatibilitate”. in acest thread. (Notă: OEM sau tipul dispozitivului dvs. poate să nu fie listat în acel fir. Singura modalitate de a ști cu siguranță dacă dispozitivul tău este compatibil este să-l încerci, ceea ce îți vom arăta mai jos cum să faci.
Există două moduri de a modifica bara noastră de navigare. Unul este cu o aplicație, iar celălalt este prin comenzile shell ADB (care este modul în care funcționează aplicația). Vă vom arăta pe amândoi pentru a fi complet, dar rețineți că, de acum, nu puteți modifica pictogramele barei de navigare stoc prin aplicație până când dezvoltatorul își actualizează aplicația pentru a include această caracteristică.
Primul lucru pe care trebuie să-l facem este să ne asigurăm că este chiar posibil să modificați bara de navigare pe dispozitivul dvs. Dacă dispozitivul dvs. este unul dintre cele enumerate ca fiind compatibile în Fir bară de navigare personalizată, atunci sunt șanse să fie. Putem verifica parcurgând scurtul tutorial care însoțește această aplicație.
Instalați aplicația din Magazinul Google Play (Si deasemenea înscrieți-vă pentru testarea beta astfel încât să putem folosi caracteristica sa experimentală pentru a rearanja bara de navigare mai târziu). Apoi, deschideți aplicația și continuați prin ecranele introductive. Bara de navigare personalizată vă va cere să îi acordați o anumită permisiune numită WRITE_SECURE_SETTINGS pentru a continua cu utilizarea aplicației. Există două moduri în care puteți face acest lucru, așa cum este menționat în aplicație.
- Dacă aveți un dispozitiv rootat, deschideți Emulator terminal pe telefonul dvs. și acordați-i acces root tastând
su
. Apoi, introduceți această comandă:pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS
- Dacă dispozitivul dvs. nu este rootat, atunci va trebui să acordați permisiunea prin ADB. Deschideți un prompt de comandă/terminal pe computer, apoi introduceți următoarea comandă:
adb shell pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS
Odată ce ați acordat aplicației această permisiune prin oricare dintre cele două metode de mai sus, atunci aplicația va continua cu un test de compatibilitate. Dacă bara de navigare nu se schimbă, atunci, din păcate, nu ai noroc. Dacă bara de navigare se modifică pentru a afișa un buton săgeată la dreapta, atunci felicitări dispozitivul este acceptat! Acum putem trece la modificarea barei de navigare.
Rearanjarea butoanelor barei de navigare
Metoda aplicației
Acum că ați configurat aplicația, este foarte, foarte ușor să rearanjați butoanele barei de navigare. Trebuie să fiți pe versiunea de testare beta a aplicației Bara de navigare personalizată pentru a putea face acest lucru, așa că reveniți și asigurați-vă că sunteți pe canalul beta înainte de a continua.
Dacă sunteți pe versiunea beta, veți vedea o secțiune numită ajustări experimentale în secțiunea principală Setări. Atingeți-l și veți vedea opțiuni care vă permit să înlocuiți cheile existente din spate, acasă și recente. Vă puteți rearanja cu ușurință cheile aici, prin schimbarea butonului înapoi în butonul de prezentare generală (recent) și schimbarea butonului de prezentare generală (recent) în butonul înapoi. Sau schimbați-le în orice fel doriți, nu există limitări reale aici. După ce ați schimbat tastele, vă puteți juca și cu opțiunile de aspect din meniul de setări al barei de navigare.
Metoda ADB
Și iată cum să faceți același lucru folosind comenzile ADB, dacă preferați asta. Comanda pe care o vom modifica este preferința de setare Secure numită sysui_nav_bar. Această preferință este un șir care conține aspectul barei de navigare. Structura implicită a preferinței este următoarea
space, back; home; recent, space
Unde spațiul reprezintă un spațiu gol care separă tastele barei de navigare una de cealaltă, iar înapoi, acasă și recent reprezintă cele 3 butoane implicite din bara de navigare. Dacă vrem să schimbăm cheia din spate și cea recentă, de exemplu, ar trebui să modificăm șirul după cum urmează
space, recent; home; back, space
Notă: dacă încercați să introduceți oricare dintre următoarele comenzi dintr-un mediu shell înrădăcinat, cum ar fi Terminal Emulator pe telefonul dvs., atunci va trebui să omiteți „adb shell” din comenzi înainte de a trimite lor.
Acum, pentru a modifica efectiv acest șir, trebuie să folosim comanda ADB shell cu această sintaxă
adb shell settings put secure sysui_nav_bar "STRING"
Prin urmare, comanda pe care am trimite-o pentru a schimba cheile recente și înapoi ar arăta astfel
adb shell settings put secure sysui_nav_bar "space, recent; home; back, space"
După cum ați putea ghici, acesta este destul de flexibil. Putem muta tastele oricum dorim prin modificarea valorii șirului preferinței. Putem, de exemplu, să facem ca tastele barei de navigare răsturnate să fie justificate la stânga sau la dreapta, schimbând locul în care sunt plasate cele două spații:
Justificat la stânga:
adb shell settings put secure sysui_nav_bar "recent; home; back, space, space"
Justificat pe dreapta:
adb shell settings put secure sysui_nav_bar "space, space, recent; home; back"
Dar, de asemenea, putem schimba butoanele barei de navigare pentru a fi cu totul diferite decât tastele standard înapoi, acasă sau recente, cum ar fi trimiterea uneia dintre multele Evenimente-cheie. Vom profita de acest fapt în secțiunea următoare, unde vă arătăm cum să schimbați pictogramele de pe butoanele barei de navigare.
Pictograme personalizate din bara de navigare
Acum, secțiunea următoare poate să nu pară o afacere uriașă, din cauza faptului că există numeroaseaplicatiipe Magazinul Play care promit să vă schimbe bara de navigare fără root. Și funcționează - cu toate acestea, mulți utilizatori raportează că aceste aplicații au erori în anumite aplicații, cum ar fi Chrome, atunci când redă videoclipuri pe ecran complet sau unele jocuri. În plus, multe dintre aceste aplicații necesită să activați un serviciu de accesibilitate pentru a monitoriza aplicațiile pentru a ști când să recolorați bara de navigare, ceea ce poate reduce performanța. În cele din urmă, dacă te bazezi prea mult pe aceste aplicații, atunci s-ar putea să fii surprins să vezi că nu mai funcționează atunci când Android O este lansat, deoarece următoarea versiune de Android este distrugând capacitatea acestor aplicații pentru a desena deasupra elementelor System UI.
Metoda pe care o folosim se bazează pe implementarea de către Google a tunerului barei de navigare, deci nu are niciuna dintre aceste probleme. Cu toate acestea, există o problemă în prezent despre care vrem să fim sinceri: dacă alegeți să urmați această metodă pentru a modifica butonul de pornire, atunci acțiunea butonului de pornire apăsat lung nu va mai funcționa ceea ce înseamnă că nu mai poți accesa rapid Asistentul Google de pe butonul de pornire. Dacă ești de acord cu asta, atunci iată cum să schimbi pictogramele din bara de navigare.
Primul lucru pe care va trebui să-l faceți este să descărcați pictogramele cu care doriți să înlocuiți pictogramele implicite ale tastelor din bara de navigare. Vă voi oferi link-uri de descărcare pentru ca dvs. să luați pictogramele din bara de navigare Google Pixel, dar depinde de dvs. să vă găsiți propriile pictograme dacă doriți altceva. Veți avea nevoie de pictogramele în format PNG și, în ceea ce privește dimensiunea, puteți determina dimensiunea pictogramelor de care aveți nevoie, căutând valorile densității de afișare ale dispozitivului pe Material.io și corelând asta cu o diagrama de referință cu dimensiunea pictogramei.
Creditele pentru extragerea acestor pictograme din bara de navigare Google Pixel sunt acordate membrului senior XDA dariomrk. Descarca această arhivă dacă aveți un 1920x1080p afișare și acesta dacă aveți un afișaj de 2560x1440p. Extrageți conținutul fiecărui fișier zip într-un folder numit „NavIcons” din directorul rădăcină al spațiului de stocare.
După ce aveți pictogramele în locul potrivit, introduceți următoarea comandă shell ADB (atenție, este una lungă):
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"
Ceea ce face această comandă este să înlocuiască cheile înapoi, acasă și recente cu KeyEvents care îndeplinesc aceeași funcție. În special, spatele este înlocuit cu KEYCODE_BACK, casa este inlocuita cu KEYCODE_HOME, iar recent este înlocuit cu KEYCODE_APP_SWITCH. Aceste coduri cheie îndeplinesc exact aceeași funcție, dar pentru că folosim KeyEvents, putem specifica ce pictogramă dorim să folosim pentru ele. În acest caz, indicăm spre back.png, home.png și recents.png pe care le-am salvat în /NavIcons.
Cu toate acestea, prin înlocuirea tastelor stoc cu KeyEvents, pierdem capacitatea de apăsare lungă acasă, deoarece în prezent nu există nicio modalitate de a recunoaște evenimentele de apăsare lungă ale intrărilor de taste simulate.
Îmi dau seama că în acest moment, această metodă s-ar putea să nu pară ideală sau ușor de implementat, dar la momentul scrierii acestui articol, aplicația Custom Navigation Bar nu a fost actualizată pentru a sprijini adăugarea propriilor pictograme. Deocamdată, metoda mea (care este exact cum funcționează aplicația respectivă, iar când aplicația este actualizată, se va confrunta cu aceeași limitare) este modul în care puteți obține orice pictograme personalizate doriți pe bara de navigare.
Asta e pentru acest tutorial. În tutorialele viitoare, voi arăta potențialele utilizări practice ale modificării barei de navigare, în special într-o manieră contextuală, folosind o aplicație de automatizare, cum ar fi Tasker. Urmează categoria tutoriale pe XDA pentru a fi la curent cu toate cele mai recente sfaturi și trucuri pe care le publicăm.