Как да добавите персонализирани икони към лентата за навигация в Android O

Урок за това как да добавите персонализирани икони по ваш избор към лентата за навигация в Android O, така че винаги да знаете какво представлява вашият персонализиран ключ.

Ако сте следвали нашето покритие на Android O, тогава може би сте видели нашите уроци за това как да промените навигационната лента на превключване на режим картина в картина, активирайте клавиши за управление на медиите, докато възпроизвеждате музика, а днес как да добавя бутони за напред/предишен за бързо разглеждане на вашите имейли. Възможните употреби на a персонализирана лента за навигация са огромни и нашите първи три урока само остъргват повърхността. Но докато имаме още няколко полезни урока, които да споделим с нашите читатели, има едно нещо, което трябва да покрием, преди да можем да преминем към следващите ни уроки: как да добавите персонализирани икони към клавишите на лентата за навигация в Android O.

Новият инструмент за персонализиране на лентата за навигация на Android O, достъпен чрез SystemUI Tuner, ви позволява да зададете код на клавиш за навигационен клавиш. (Напомняне: за да получите достъп до SystemUI Tuner, трябва да дръпнете надолу лентата на състоянието и да натиснете продължително върху иконата на зъбно колело в горния десен ъгъл, докато видите тост съобщение, което ви казва, че SystemUI Тунерът вече е достъпен.) Тъй като има толкова много клавишни кодове, Android O не предлага икона за всеки клавишен код, който можете да поставите в лентата за навигация, но вместо това ви позволява да избирате от 6 икони:

кръг, плюс, минус, наляво, точно, и меню.

Тъй като разбрахме как да зададем ръчно ключови кодове от команди на обвивката, ние също искахме да разберем какви възможности за икони са налични. Първо открихме, че двата клавиша на лентата за навигация са дефинирани като две системни свойства под Настройки. Сигурен клас. Тези два свойства са наименувани sysui_nav_bar_left и sysui_nav_bar_right, съответстващ съответно на левия клавиш на навигационната лента и десния клавиш на навигационната лента. Свойствата приемат низова стойност, една от двете clipboard, menu_ime, или key(KEYCODE_KEY:ICON_RESOURCE).

С помощта на тестово устройство Google Pixel, работещо с Android O Developer Preview, открихме, че 6-те икони показани по подразбиране съответстват на определени ресурси за съдържание, съдържащи се в SystemUI, представени от a URI.

  1. com.android.systemui/2131230944 (кръг)
  2. com.android.systemui/2131230848 (плюс)
  3. com.android.systemui/2131231002 (минус)
  4. com.android.systemui/2131230907 (наляво)
  5. com.android.systemui/2131231004 (вдясно)
  6. com.android.systemui/2131230913 (меню)

Тъй като тези стойности са изтеглени от Google Pixel, е възможно тези ресурси за икони да не са същите на други устройства на Google, работещи с Android O Developer Preview. Но тъй като ресурсът на иконата е URI на съдържанието, можем да го заменим със схема на URI на файл, която да сочи всяка икона, съхранена на нашето устройство.

Как да зададете персонализирани икони на лентата за навигация в Android O

URI файлът изглежда така:

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

Комбинирайки това с нашите познания за задаване на потребителски кодове на клавиши по-горе, сега можем да зададем произволно изображение като наша икона, която да се показва в лентата за навигация. Например, ако искам да задам клавиша на лявата си навигационна лента на KEYCODE_DPAD_DOWN (#20) с персонализирана икона със стрелка надолу, запазена като down.png и дясната ми навигационна лента с клавиш за KEYCODE_DPAD_UP (#19) с персонализирана икона със стрелка нагоре, запазена като up.png, и двете икони, съхранени в основата на вътрешното ми хранилище, моите команди ще изглеждат така:

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)

Можете да въведете тези команди, като използвате ADB обвивка или като предоставите WRITE_SECURE_SETTINGS разрешение за SecureTask и след това използване на Tasker за задействане на промени в навигационната лента въз основа на определени условия, както посочих в предишните си уроци (и също ще покажа в друг урок).

Как да получите персонализирани икони за вашата навигационна лента

Разбира се, предвид размера на навигационната ви лента, не можете просто да поставите всяко изображение, което изтеглите от интернет. Изображението трябва да е с правилния размер, в противен случай или ще изглежда твърде малко, или най-вероятно ще изглежда твърде раздуто. Получаването на собствено изображение в подходящ размер може да бъде предизвикателство, ако все още нямате опит с PhotoShop или друг софтуер за манипулиране на изображения, но за щастие има уебсайтове, които предлагат много безплатни икони, които можем използване.

Първото нещо, което ще трябва да направите, е да определите показателите на дисплея на вашето устройство, което е нещо, което може би вече знаете, но в случай, че не знаете, можете потърсете го в Material.io. След това ще трябва да свържете плътността на дисплея си с икона референтна диаграма за да определите какъв размер икони ще имате нужда. И накрая, използвайте безплатното база данни с икони за да изтеглите иконата, която търсите, в правилния размер.

Уверете се, че сте запазили иконите, които ще използвате, в определена папка, като /NavIcons, и наименувайте иконите нещо просто, на което можете лесно да се позовавате в командите си.


Надяваме се, че ще намерите този урок за полезен! Лично за мен едно от основните ми притеснения с инструмента за персонализиране на лентата за навигация беше невъзможността да избирам персонализирани икони за клавишите за навигация, така че винаги веднага да знам какво правят моите клавиши за навигация. Но сега, когато разбрахме как да поставим наши собствени персонализирани ключове и персонализирани икони според нашите собствени условия, можем да започнем да използваме реално нашата лента за навигация.