Sådan tilføjes brugerdefinerede ikoner til navigationslinjen i Android O

En vejledning i, hvordan du tilføjer tilpassede ikoner efter eget valg til navigationslinjen i Android O, så du altid ved, hvad din brugerdefinerede tast repræsenterer.

Hvis du har fulgt med vores dækning af Android O, så har du måske set vores tutorials om, hvordan du ændrer navigationslinjen til skifte mellem billed-i-billede-tilstand, aktivere mediekontroltaster, mens du spiller musik, og i dag, hvordan du tilføjer frem/forrige knapper til hurtigt at gennemse dine e-mails. De mulige anvendelser af en tilpasselig navigationslinje er enorme, og vores første tre tutorials skraber kun overfladen. Men selvom vi har et par mere nyttige tutorials at dele med vores læsere, er der én ting, vi skulle dække, før vi kan gå videre til vores næste tutorials: hvordan man tilføjer brugerdefinerede ikoner til navigationslinjens taster i Android O.

Android O's nye navigationslinjetilpasning, tilgængelig via SystemUI Tuner, giver dig mulighed for at indstille en nøglekode til en navigationstast. (Påmindelse: For at få adgang til SystemUI Tuner skal du trække statuslinjen ned og trykke længe på gearikonet øverst til højre, indtil du ser en toast-meddelelse, der fortæller dig, at SystemUI Tuner er nu tilgængelig.) Fordi der er så mange nøglekoder, tilbyder Android O ikke et ikon for hver nøglekode, du kan placere på navigeringslinjen, men giver dig i stedet mulighed for at vælge mellem 6 ikoner:

cirkel, plus, minus, venstre, højre, og menu.

Da vi fandt ud af, hvordan man manuelt indstiller nøglekoder fra shell-kommandoer, ønskede vi også at finde ud af, hvilke ikonmuligheder der var tilgængelige. Vi opdagede først, at de to navigationslinjetaster er defineret som to systemegenskaber under Indstillinger. Sikker klasse. Disse to ejendomme er navngivet sysui_nav_bar_left og sysui_nav_bar_right, svarende til henholdsvis venstre nav-bar-tast og højre nav-bar-tast. Egenskaberne tager en strengværdi, en af ​​begge clipboard, menu_ime, eller key(KEYCODE_KEY:ICON_RESOURCE).

Ved at bruge en test Google Pixel-enhed, der kører Android O Developer Preview, opdagede vi, at de 6 ikoner vist som standard svarer til bestemte indholdsressourcer indeholdt i SystemUI, repræsenteret ved en URI.

  1. com.android.systemui/2131230944 (cirkel)
  2. com.android.systemui/2131230848 (plus)
  3. com.android.systemui/2131231002 (minus)
  4. com.android.systemui/2131230907 (venstre)
  5. com.android.systemui/2131231004 (højre)
  6. com.android.systemui/2131230913 (menu)

Da disse værdier blev hentet fra Google Pixel, er det muligt, at disse ikonressourcer ikke vil være de samme på andre Google-enheder, der kører Android O Developer Preview. Men da ikonressourcen er en indholds-URI, er vi i stand til at erstatte denne med et fil-URI-skema at pege på ethvert ikon, der er gemt på vores enhed.

Sådan indstilles brugerdefinerede navigeringslinjeikoner i Android O

En fil-URI ser sådan ud:

file:///storage/emulated/0/PATH/TO/FILE

Ved at kombinere dette med vores viden om indstilling af brugerdefinerede nøglekoder ovenfor, kan vi nu indstille et hvilket som helst vilkårligt billede som vores ikon til at blive vist i navigeringslinjen. For eksempel, hvis jeg vil indstille min venstre navigationslinjetast til KEYCODE_DPAD_DOWN (#20) med et brugerdefineret pil-ikon gemt som down.png og min højre navigationstast til KEYCODE_DPAD_UP (#19) med et brugerdefineret pil op-ikon gemt som up.png, begge ikoner gemt i roden af ​​mit interne lager, ville mine kommandoer se sådan ud:

settings put secure sysui_nav_bar_left key(20:file:///storage/emulated/0/down.png)
settings put secure sysui_nav_bar_right key(19:file:///storage/emulated/0/up.png)

Du kan indtaste disse kommandoer ved at bruge enten en ADB-skal eller ved at tildele WRITE_SECURE_SETTINGS tilladelse til SecureTask og derefter bruge Tasker til at udløse ændringer i nav-bjælken baseret på visse forhold, som jeg har beskrevet i mine tidligere tutorials (og også vil fremvise i en anden tutorial).

Sådan får du brugerdefinerede ikoner til din Nav Bar

I betragtning af størrelsen på din nav-bjælke kan du selvfølgelig ikke bare placere ethvert billede, du downloader, fra internettet. Billedet skal have den rigtige størrelse, ellers vil det enten fremstå for lille eller højst sandsynligt fremstå alt for sprængt. At få dit eget billede i den rigtige størrelse kan være en udfordring, hvis du ikke allerede har erfaring med PhotoShop eller anden billedmanipulationssoftware, men heldigvis er der websteder derude, der tilbyder mange gratis ikoner, som vi kan brug.

Den første ting, du skal gøre, er at bestemme din enheds display-metrics, hvilket er noget, du måske allerede ved, men hvis du ikke gør det, kan du slå det op på Material.io. Dernæst skal du korrelere din skærmtæthed med en ikon referencediagram for at bestemme, hvilken størrelse ikoner du skal bruge. Brug endelig den gratis ikoner database for at downloade det ikon, du leder efter, i den rigtige størrelse.

Sørg for at gemme de ikoner, du skal bruge, i en bestemt mappe, såsom /NavIcons, og navngiv ikonerne noget simpelt, du nemt kan referere til i dine kommandoer.


Vi håber, du finder denne tutorial nyttig! For mig personligt var en af ​​mine største betænkeligheder med navigationslinjetilpasningen manglende evne til at vælge brugerdefinerede ikoner til nav-taster, så jeg altid med det samme ville vide, hvad mine nav-taster gør. Men nu hvor vi har fundet ud af, hvordan vi placerer vores egne brugerdefinerede nøgler og brugerdefinerede ikoner på vores egne forhold, kan vi begynde at gøre noget reel brug af vores navigationslinje.