Hur man lägger till anpassade ikoner i navigeringsfältet i Android O

En handledning om hur du lägger till egna valfria ikoner i navigeringsfältet i Android O, så att du alltid vet vad din anpassade nyckel representerar.

Om du har följt vår täckning av Android O, då kanske du har sett våra handledningar om hur du ändrar navigeringsfältet till växla bild-i-bild-läge, Gör det möjligt mediakontrolltangenter medan du spelar musik, och idag hur man lägger till framåt/föregående knappar för att snabbt bläddra igenom dina e-postmeddelanden. Möjliga användningsområden för en anpassningsbar navigeringsfält är enorma, och våra första tre tutorials skrapar bara ytan. Men även om vi har ett par mer användbara tutorials att dela med våra läsare, är det en sak vi var tvungna att täcka innan vi kan gå vidare till våra nästa tutorials: hur man lägger till anpassade ikoner till navigeringsfältets knappar i Android O.

Android O: s nya navigeringsfältsanpassare, tillgänglig via SystemUI Tuner, låter dig ställa in en nyckelkod till en navigeringsknapp. (Påminnelse: för att komma åt SystemUI Tuner måste du dra ned statusfältet och trycka länge på kugghjulsikonen uppe till höger tills du ser ett toastmeddelande som talar om för dig att SystemUI Tuner är nu tillgänglig.) Eftersom det finns så många tangentkoder, erbjuder Android O inte en ikon för varje tangentkod du kan placera på navigeringsfältet, utan låter dig istället välja mellan 6 ikoner:

cirkel, plus, minus, vänster, höger, och meny.

Eftersom vi kom på hur man manuellt ställer in nyckelkoder från skalkommandon, ville vi också ta reda på vilka ikonmöjligheter som fanns tillgängliga. Vi upptäckte först att de två navigeringsfältsknapparna definieras som två systemegenskaper under Inställningar. Säker klass. Dessa två fastigheter är namngivna sysui_nav_bar_left och sysui_nav_bar_right, motsvarande vänster navigeringsknapp och höger navigeringsknapp. Egenskaperna tar ett strängvärde, ett av båda clipboard, menu_ime, eller key(KEYCODE_KEY:ICON_RESOURCE).

Med hjälp av en Google Pixel-testenhet som kör Android O Developer Preview upptäckte vi att de 6 ikonerna som visas som standard motsvarar specifika innehållsresurser som finns i SystemUI, representerade av 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 (vänster)
  5. com.android.systemui/2131231004 (höger)
  6. com.android.systemui/2131230913 (meny)

Eftersom dessa värden hämtades från Google Pixel är det möjligt att dessa ikonresurser inte kommer att vara desamma på andra Google-enheter som kör Android O Developer Preview. Men eftersom ikonresursen är en innehålls-URI, kan vi ersätta denna med ett fil-URI-schema att peka på någon ikon som är lagrad på vår enhet.

Hur man ställer in anpassade navigeringsfältsikoner i Android O

En fil-URI ser ut så här:

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

Genom att kombinera detta med vår kunskap om att ställa in anpassade nyckelkoder ovan kan vi nu ställa in vilken godtycklig bild som helst som vår ikon som ska visas i navigeringsfältet. Till exempel, om jag vill ställa in min vänstra navigeringsknapp på KEYCODE_DPAD_DOWN (#20) med en anpassad nedpilikon sparad som down.png och min högra navigeringsknapp till KEYCODE_DPAD_UP (#19) med en anpassad uppåtpil ikon sparad som up.png, båda ikonerna lagrade i roten av min interna lagring, skulle mina kommandon se ut så här:

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 ange dessa kommandon med antingen ett ADB-skal eller genom att ge WRITE_SECURE_SETTINGS tillstånd att SecureTask och sedan använda Tasker för att utlösa ändringar i navigeringsfältet baserat på vissa villkor, som jag har beskrivit i mina tidigare handledningar (och kommer också att visa upp i en annan handledning).

Hur man får anpassade ikoner för din Nav Bar

Givet storleken på ditt navigeringsfält kan du naturligtvis inte bara placera vilken bild du laddar ner från Internet. Bilden måste ha rätt storlek, annars blir den antingen för liten eller med största sannolikhet alldeles för sprängd. Att få en egen bild i rätt storlek kan vara en utmaning om du inte redan har erfarenhet av PhotoShop eller annan bildmanipuleringsprogramvara, men som tur är finns det webbplatser där ute som erbjuder många gratis ikoner som vi kan använda sig av.

Det första du behöver göra är att bestämma enhetens skärmstatistik, vilket är något du kanske redan vet, men om du inte gör det kan du kolla upp det på Material.io. Därefter måste du korrelera din skärmdensitet med en ikon referensdiagram för att avgöra vilken storlek ikoner du behöver. Slutligen, använd gratis ikoner databas för att ladda ner ikonen du letar efter i rätt storlek.

Se till att du sparar ikonerna du kommer att använda i en viss mapp som /NavIcons, och döp ikonerna till något enkelt som du enkelt kan referera till i dina kommandon.


Vi hoppas att du tycker att denna handledning är användbar! För mig personligen var ett av mina största betänkligheter med navigeringsfältsanpassningen oförmågan att välja anpassade ikoner för navigeringsnycklar så att jag alltid omedelbart skulle veta vad mina navigeringsnycklar gör. Men nu när vi har kommit på hur vi ska placera våra egna anpassade nycklar och anpassade ikoner på våra egna villkor, kan vi börja göra en verklig användning av vårt navigeringsfält.