Kā mainīt navigācijas joslas ikonas vai pārkārtot pogas bez saknes

Šajā apmācībā mēs parādīsim, kā mainīt navigācijas joslas ikonas vai pārkārtot pogas, ja izmantojat Nougat. Nav nepieciešama sakne.

Tie no jums, kuri darbojas pirmie Android O izstrādātāja priekšskatījums iespējams, spēlējies ar savu slēpto navigācijas joslas pielāgotājs atrodas SystemUI Tuner. Šis navigācijas joslas pielāgotājs ir bijis pieejams AOSP jau vairākus mēnešus, taču tika uzskatīts, ka vienīgais veids, kā tam piekļūt operētājsistēmā Android Nougat, ir Sistēmas lietotāja interfeisa APK modifikācija, kam, protams, būtu nepieciešama root piekļuve. Tikai šonedēļ mēs atklājām, ka Android Nougat slēptais navigācijas joslas pielāgotājs var faktiski var piekļūt bez root piekļuves, pielāgotas ROM vai sistēmas lietotāja interfeisa mod. Izmantojot šo funkciju, mēs varam mainīt navigācijas joslas ikonas, apmainīt taustiņus vai pievienot papildu pogas.

Tieši tā – ir iespējams modificēt savu navigācijas joslu pilnīgi brīvā, nesakņotā ROM ar bloķētu sāknēšanas programmu. Funkcionalitāte, kas, pēc cilvēku domām, attiecas tikai uz Android O, faktiski ir pieejama ikvienam, kas izmanto Android Nougat ierīcēs Nexus, Pixel, OnePlus un dažos Sony, HTC un Motorola tālruņos. Ja jūsu ierīcē darbojas programmatūra, kas ir tuvu Google programmatūrai (atvainojiet Samsung un Huawei/Honor lietotājiem), iespējams, ka jūsu ierīcē ir slēpts AOSP navigācijas joslas pielāgotājs, ko mēs varam izmantot. Šajā apmācībā es jums parādīšu, kā varat izmantot navigācijas joslas pielāgotāju 

mainiet pogu ikonas uz tām, ko vēlaties, vai pārkārtojiet tās vēlamajā secībā.

Google Pixel Nav Bar tālrunī Nexus 6

Apgrieztā navigācijas josla ierīcē Nexus 6

Navigācijas joslas pārveidošana — iestatīšana

Prasības: jums būs nepieciešama ierīce, kas ir saderīga ar AOSP navigācijas joslas pielāgotāju. Skatiet sadaļu "Saderība". šajā pavedienā. (Piezīme: jūsu ierīces OEM vai tips var nebūt norādīts šajā pavedienā. Vienīgais veids, kā pārliecināties, vai jūsu ierīce ir saderīga, ir to izmēģināt. Tālāk mēs jums parādīsim, kā to izdarīt.

Ir divi veidi, kā modificēt mūsu navigācijas joslu. Viens ir ar lietotni, bet otrs ir ar ADB čaulas komandām (tādā veidā programma darbojas). Pilnības labad mēs jums parādīsim abus, taču ņemiet vērā, ka pašlaik lietotnē nevar modificēt krājuma navigācijas joslas ikonas, kamēr izstrādātājs nav atjauninājis savu lietotni, iekļaujot šo funkciju.

Pirmā lieta, kas mums jādara, ir pārliecināties, ka ir pat iespējams modificēt jūsu ierīces navigācijas joslu. Ja jūsu ierīce ir viena no tām, kas norādītas kā saderīgas Pielāgotas navigācijas joslas pavediens, tad pastāv iespēja, ka tā arī būs. Mēs varam to pārbaudīt, izpildot īso apmācību, kas pievienota šai lietotnei.

Instalējiet lietotni no Google Play veikala (un arī reģistrēties beta testēšanai lai mēs varētu izmantot tās eksperimentālo funkciju, lai vēlāk pārkārtotu navigācijas joslu). Pēc tam atveriet lietotni un pārejiet cauri ievada ekrāniem. Pielāgotā navigācijas josla lūgs jums piešķirt tai noteiktu atļauju, ko sauc par WRITE_SECURE_SETTINGS, lai varētu turpināt lietot lietotni. Ir divi veidi, kā to izdarīt, kā norādīts pieteikumā.

  1. Ja jums ir iesakņota ierīce, atveriet to Termināļa emulators savā tālrunī un piešķiriet tai root piekļuvi, ierakstot su. Pēc tam ievadiet šo komandu: pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS
  2. Ja jūsu ierīcei nav saknes, jums būs jāpiešķir atļauja, izmantojot ADB. Atveriet savā datorā komandu uzvedni/termināli un pēc tam ievadiet šādu komandu: adb shell pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS

Kad esat piešķīris lietotnei šo atļauju, izmantojot kādu no abām iepriekš minētajām metodēm, programma veiks saderības pārbaudi. Ja jūsu navigācijas josla nemainās, jums diemžēl nav paveicies. Ja jūsu navigācijas josla mainās, lai parādītu labās bultiņas pogu, apsveicam, jūsu ierīce tiek atbalstīta! Tagad mēs varam pāriet uz navigācijas joslas pārveidošanu.


Navigācijas joslas pogu pārkārtošana

Lietotnes metode

Tagad, kad esat iestatījis lietotni, ir ļoti, ļoti vienkārši pārkārtot navigācijas joslas pogas. Lai to izdarītu, jums ir jāizmanto pielāgotās navigācijas joslas lietotnes beta testēšanas versija, tāpēc pirms turpināt, atgriezieties un pārliecinieties, vai esat beta kanālā.

Ja izmantojat beta versiju, jūs redzēsit sadaļu ar nosaukumu eksperimentālie uzlabojumi galvenajā sadaļā Iestatījumi. Pieskarieties tam, un jūs redzēsit opcijas, kas ļauj aizstāt esošās atpakaļ, sākuma un nesenās atslēgas. Šeit varat viegli pārkārtot taustiņus, mainot pogu Atpakaļ uz pārskata (neseno) pogu un mainot pārskata (neseno) pogu uz pogu Atpakaļ. Vai arī mainiet tos, kā vēlaties, šeit nav reālu ierobežojumu. Pēc atslēgu nomaiņas varat arī paspēlēties ar izkārtojuma opcijām navigācijas joslas iestatījumu izvēlnē.

ADB metode

Lūk, kā to izdarīt, izmantojot ADB komandas, ja vēlaties. Komanda, kuru mēs mainīsim, ir drošā iestatījuma preference sysui_nav_bar. Šī preference ir virkne, kas satur navigācijas joslas izkārtojumu. Preferences noklusējuma struktūra ir šāda

space, back; home; recent, space

Atstarpe apzīmē tukšu vietu, kas atdala navigācijas joslas taustiņus vienu no otra, un Atpakaļ, Sākums un Nesen ir 3 noklusējuma pogas navigācijas joslā. Ja mēs vēlamies, piemēram, apmainīt atpakaļ un neseno atslēgu, mums būs jāmaina virkne šādi

space, recent; home; back, space

Piezīme: ja mēģināt ievadīt kādu no šīm komandām no sakņotas čaulas vides, piemēram, Termināļa emulators tālrunī, tad pirms nosūtīšanas komandās būs jāizlaiž "adb shell" viņiem.

Tagad, lai faktiski modificētu šo virkni, mums ir jāizmanto ADB čaulas komanda ar šo sintaksi

adb shell settings put secure sysui_nav_bar "STRING"

Tādējādi komanda, ko mēs nosūtām, lai apmainītu pēdējo un atpakaļ taustiņu, izskatītos šādi

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

Kā jūs varētu nojaust, tas ir diezgan elastīgs. Mēs varam pārvietot taustiņus, kā vien vēlamies, mainot preferences virknes vērtību. Piemēram, mēs varam padarīt mūsu apgrieztos navigācijas joslas taustiņus attaisnotus pa kreisi vai pa labi, mainot vietu, kur atrodas divas atstarpes:

Pa kreisi taisnots:

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

Pa labi taisnots:

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

Taču mēs varam arī mainīt navigācijas joslas pogas, lai tās būtu pilnīgi atšķirīgas nekā standarta atpakaļ, sākuma vai nesenās pogas, piemēram, nosūtīt vienu no daudzajām KeyEvents. Mēs izmantosim šo faktu nākamajā sadaļā, kur parādīsim, kā mainīt navigācijas joslas pogu ikonas.


Pielāgotas navigācijas joslas ikonas

Tagad nākamā sadaļa var nešķist milzīgs darījums, jo tādas ir daudzilietojumprogrammasieslēgts Play veikals, kas sola mainīt jūsu navigācijas joslu bez saknes. Un tie darbojas, taču daudzi lietotāji ziņo, ka šīs lietotnes ir kļūdainas noteiktās lietotnēs, piemēram, Chrome, spēlējot pilnekrāna video vai dažas spēles. Turklāt daudzām no šīm lietotnēm ir jāiespējo pieejamības pakalpojums, lai pārraudzītu lietotnes, lai zinātu, kad mainīt navigācijas joslas krāsu. var samazināt veiktspēju. Visbeidzot, ja paļaujaties uz šīm lietotnēm pārāk ilgi, iespējams, pēkšņi būsiet pārsteigts, redzot, ka tās pārstāj darboties, kad tiks izlaista Android O, jo nākamā Android versija ir iznīcinot šo lietotņu iespējas lai zīmētu virs sistēmas lietotāja interfeisa elementiem.

Mūsu izmantotā metode ir balstīta uz Google ieviesto navigācijas joslas uztvērēja ieviešanu, tāpēc tai nav nevienas no šīm problēmām. Tomēr pašlaik ir viena problēma, par kuru mēs vēlamies runāt uzreiz: ja izvēlaties izmantot šo metodi, lai mainītu sākuma pogu, ilgstoši nospiežot sākuma pogu, vairs nedarbosies tas nozīmē, ka vairs nevarat ātri piekļūt Google palīgam no sākuma pogas. Ja jums tas ir labi, tālāk ir norādīts, kā mainīt ikonas navigācijas joslā.

Pirmā lieta, kas jums jādara, ir lejupielādēt ikonas, ar kurām vēlaties aizstāt noklusējuma navigācijas joslas taustiņu ikonas. Es nodrošināšu lejupielādes saites, lai jūs varētu izmantot Google Pixel navigācijas joslas ikonas, taču, ja vēlaties kaut ko citu, jums ir jāatrod savas ikonas. Jums būs nepieciešamas ikonas PNG formātā, un, lai noteiktu izmēru, varat noteikt vajadzīgo ikonu izmēru, meklējot ierīces displeja blīvuma metriku vietnē Material.io un korelējot to ar an ikonas izmēru atsauces diagramma.

Kredīti par šo Google Pixel navigācijas joslas ikonu izvilkšanu tiek piešķirti XDA vecākajam dalībniekam dariomrk. Lejupielādēt šo arhīvu, ja jums ir 1920x1080p displejs un šo, ja jums ir 2560x1440p displejs. Izvelciet jebkura zip faila saturu krātuves saknes direktorijā esošajā mapē ar nosaukumu "NavIcons".

Kad ikonas ir ievietotas atbilstošajā vietā, ievadiet šādu ADB apvalka komandu (brīdinājums, tā ir gara):

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"

Šī komanda aizstāj atpakaļ, sākuma un nesenos taustiņus ar KeyEvents, kas veic to pašu funkciju. Jo īpaši aizmugure tiek aizstāta ar KEYCODE_BACK, mājas tiek aizstātas ar KEYCODE_HOME, un nesen ir aizstāts ar KEYCODE_APP_SWITCH. Šie atslēgu kodi veic tieši to pašu funkciju, taču, tā kā mēs izmantojam KeyEvents, mēs varam norādīt, kādu ikonu mēs tiem vēlamies izmantot. Šajā gadījumā mēs norādām uz back.png, home.png un nesens.png, ko saglabājām mapē /NavIcons.

Tomēr, aizstājot krājuma taustiņus ar KeyEvents, mēs zaudējam ilgstošas ​​nospiešanas sākuma iespēju, jo pašlaik nav iespējams atpazīt simulēto taustiņu ievades ilgstošas ​​nospiešanas notikumus.

Es saprotu, ka šobrīd šī metode var nešķist ideāla vai viegli īstenojama, taču šī rakstīšanas laikā pielāgotās navigācijas joslas lietotne nebija atjaunināta, lai atbalstītu savu ikonu pievienošanu. Pagaidām mana metode (tieši tieši tā darbojas šī lietotne, un, kad lietotne tiks atjaunināta, tā saskarsies ar tādiem pašiem ierobežojumiem) ir veids, kā navigācijas joslā varat iegūt jebkuras pielāgotās ikonas, kuras vēlaties.


Tas ir viss šai apmācībai. Turpmākajās apmācībās es parādīšu iespējamos praktiskos pielietojumus navigācijas joslas mainīšanai, jo īpaši kontekstuālā veidā, izmantojot automatizācijas lietotni, piemēram, Tasker. Seko apmācības kategorijā XDA lai būtu lietas kursā par visiem jaunākajiem padomiem un trikiem, ko publicējam.