Aangepaste pictogrammen toevoegen aan de navigatiebalk in Android O

Een tutorial over hoe u aangepaste pictogrammen van uw keuze kunt toevoegen aan de navigatiebalk in Android O, zodat u altijd weet wat uw aangepaste sleutel vertegenwoordigt.

Als je het hebt gevolgd onze berichtgeving over Android O, dan heb je misschien onze tutorials gezien over hoe je de navigatiebalk kunt aanpassen schakel de beeld-in-beeld-modus in, inschakelen mediabedieningstoetsen tijdens het afspelen van muziek, en vandaag hoe u dit kunt toevoegen vooruit/vorige knoppen om snel door uw e-mails te bladeren. Het mogelijke gebruik van een aanpasbare navigatiebalk zijn enorm, en onze eerste drie tutorials schrapen alleen maar het oppervlak. Maar hoewel we nog een aantal nuttige tutorials hebben om met onze lezers te delen, is er één ding dat we moesten bespreken voordat we verder konden gaan met onze volgende tutorials: hoe u aangepaste pictogrammen kunt toevoegen aan de navigatiebalktoetsen in Android O.

Met de nieuwe navigatiebalkaanpasser van Android O, toegankelijk via SystemUI Tuner, kunt u een sleutelcode instellen op een navigatietoets. (Herinnering: om toegang te krijgen tot SystemUI Tuner, moet u de statusbalk naar beneden trekken en lang op het tandwielpictogram rechtsboven drukken totdat u een toastbericht ziet waarin staat dat SystemUI Tuner is nu toegankelijk.) Omdat er zoveel sleutelcodes zijn, biedt Android O geen pictogram voor elke sleutelcode die u op de navigatiebalk kunt plaatsen, maar kunt u in plaats daarvan kiezen uit 6 pictogrammen:

cirkel, plus, minus, links, rechts, En menu.

Omdat we ontdekten hoe we sleutelcodes handmatig konden instellen via shell-opdrachten, wilden we ook uitzoeken welke pictogrammogelijkheden beschikbaar waren. We ontdekten voor het eerst dat de twee navigatiebalktoetsen zijn gedefinieerd als twee systeemeigenschappen onder de Instellingen. Veilige klasse. Deze twee eigenschappen zijn genoemd sysui_nav_bar_left En sysui_nav_bar_right, respectievelijk overeenkomend met de linker navigatiebalktoets en de rechter navigatiebalktoets. De eigenschappen hebben een tekenreekswaarde, een van beide clipboard, menu_ime, of key(KEYCODE_KEY:ICON_RESOURCE).

Met behulp van een Google Pixel-testapparaat met de Android O Developer Preview ontdekten we dat de 6 pictogrammen standaard weergegeven, komen overeen met bepaalde inhoudsbronnen in de SystemUI, weergegeven door a URI.

  1. com.android.systemui/2131230944 (cirkel)
  2. com.android.systemui/2131230848 (plus)
  3. com.android.systemui/2131231002 (minus)
  4. com.android.systemui/2131230907 (links)
  5. com.android.systemui/2131231004 (rechts)
  6. com.android.systemui/2131230913 (menu)

Omdat deze waarden uit de Google Pixel zijn gehaald, is het mogelijk dat deze pictogrambronnen niet hetzelfde zijn op andere Google-apparaten waarop de Android O Developer Preview wordt uitgevoerd. Maar omdat de pictogrambron een inhouds-URI is, kunnen we deze vervangen door een bestands-URI-schema waarnaar wordt verwezen elk pictogram dat op ons apparaat is opgeslagen.

Aangepaste navigatiebalkpictogrammen instellen in Android O

Een bestands-URI ziet er als volgt uit:

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

Door dit te combineren met onze kennis van het instellen van aangepaste sleutelcodes hierboven, kunnen we nu elke willekeurige afbeelding instellen als ons pictogram dat in de navigatiebalk moet worden weergegeven. Als ik bijvoorbeeld mijn linkernavigatiebalktoets wil instellen op KEYCODE_DPAD_DOWN (#20) met een aangepast pijl-omlaagpictogram opgeslagen als down.png en mijn rechternavigatiebalktoets naar KEYCODE_DPAD_UP (#19) met een aangepast pijl-omhoogpictogram opgeslagen als up.png, beide pictogrammen opgeslagen in de hoofdmap van mijn interne opslag, zouden mijn opdrachten er als volgt uitzien:

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)

U kunt deze opdrachten invoeren met behulp van een ADB-shell of door de WRITE_SECURE_SETTINGS toestemming om Veilige taak en vervolgens Tasker gebruiken om wijzigingen in de navigatiebalk te activeren op basis van bepaalde omstandigheden, zoals ik in mijn vorige tutorials heb uiteengezet (en ook in een andere tutorial zal laten zien).

Hoe u aangepaste pictogrammen voor uw navigatiebalk kunt krijgen

Gezien de grootte van uw navigatiebalk kunt u natuurlijk niet zomaar een afbeelding die u downloadt van internet plaatsen. De afbeelding moet de juiste grootte hebben, anders zal deze ofwel te klein lijken, ofwel waarschijnlijk veel te opgeblazen. Het kan een uitdaging zijn om uw eigen afbeelding op het juiste formaat te krijgen als u nog geen ervaring hebt met PhotoShop of andere software voor beeldmanipulatie, maar gelukkig zijn er websites die veel gratis pictogrammen aanbieden gebruik.

Het eerste dat u moet doen, is de weergavegegevens van uw apparaat bepalen. Dit weet u misschien al, maar als u dat nog niet weet, kunt u zoek het op op Material.io. Vervolgens moet u uw weergavedichtheid correleren met een pictogram referentiegrafiek om te bepalen welk formaat pictogrammen u nodig heeft. Maak ten slotte gebruik van de gratis iconendatabase om het pictogram dat u zoekt in de juiste maat te downloaden.

Zorg ervoor dat u de pictogrammen die u gaat gebruiken in een bepaalde map opslaat, zoals /NavIcons, en geef de pictogrammen een eenvoudige naam waarnaar u gemakkelijk kunt verwijzen in uw opdrachten.


We hopen dat je deze tutorial nuttig vindt! Voor mij persoonlijk was een van mijn grootste problemen met de navigatiebalkaanpasser het onvermogen om aangepaste pictogrammen voor navigatietoetsen te selecteren, zodat ik altijd onmiddellijk zou weten wat mijn navigatietoetsen doen. Maar nu we erachter zijn gekomen hoe we onze eigen aangepaste sleutels kunnen plaatsen En aangepaste pictogrammen onder onze eigen voorwaarden, kunnen we echt gebruik gaan maken van onze navigatiebalk.