Как да добавите ляв/десен курсор на клавиатурата към навигационната лента по време на въвеждане на текст

Урок за това как да добавите леви/десни курсори на клавиатурата към навигационната лента по време на въвеждане на текст с помощта на Tasker и персонализирана навигационна лента. Не е необходим root, Android 7.0+.

Персонализирането на лентата за навигация е основна част от персонализираните ROM откакто Google представи Galaxy Nexus с Android 4.0 Ice Cream Sandwich (не говорим за Motorola Xoom и Honeycomb в тези части). Въпреки че няколко OEM производители предлагат някакъв вид персонализиране на софтуерни ключове на своите телефони, това е само с първи Android O Developer Preview които Google официално включва персонализиране на навигационната лента. Потребителите на нашите форуми обаче откриха, че тунерът на навигационната лента на Google всъщност е скрит в AOSP след Android Nougat, но едва тази седмица открихме, че този скрит тунер на навигационната лента може да бъде достъпен чрез команди на обвивката, без да се нуждаете от root, персонализирани ROM или модификации на потребителския интерфейс на системата

. Вече е възможно да се внедрят популярни персонализирани ROM функции като добавяне на курсори на клавиатурата към навигационната лента?

Можете да се обзаложите, тъй като това разкритие отвори вратите за наводнения за безкорпусно персонализиране на лентата за навигация, а начело е XDA Senior Member paphonb който разработи приложение, наречено Персонализирана лента за навигация за да помогне на потребителите да променят лентата за навигация, без да се налага да изпълняват команди на обвивката. Приложението му е доста изпълнено с функции; например осигурява a Tasker плъгин, за да можете контекстно да променяте лентата за навигация. Тъй като много потребители не са запознати с Tasker, пиша тези уроци, за да помогна на потребителите да се възползват от персонализирането на навигационната лента.

В този урок ще ви покажа как да добавете леви/десни курсори на клавиатурата към лентата за навигация, докато клавиатурата се показва (Android 7.0+, не е необходим root!) Този урок е подобен на този, за който написах Потребители на Android O, но този урок ще бъде много по-достъпен, тъй като работи на Android Nougat.

Да, да, знаем, че Swiftkey и Gboard, между другото, имат курсори на клавиатурата, вградени в клавиатурата. Не всяка клавиатура обаче го прави и според мен е по-удобно да се използват бутони в лентата за навигация, отколкото бутоните в Swiftkey (които заемат място) или тези в Gboard (които изискват неточни плъзгания над интервала или превключване към специален режим).


Препоръчителна литература 1: Как да промените иконите на лентата за навигация или да пренаредите бутоните без root

Препоръчителна литература 2: Как да добавите контроли за възпроизвеждане на мултимедия към лентата за навигация, когато възпроизвеждате музика


Добавете ляв/десен курсор на клавиатурата към навигационната лента по време на въвеждане на текст

Изисквания

Система Изисквания: Ще ви е необходимо устройство с Android 7.0+, съвместимо с инструмента за персонализиране на навигационната лента на AOSP. Известно е, че Google Nexus, Pixel и някои телефони Sony/HTC работят. Повечето устройства, които са близки до стандартния Android, вероятно не са премахнали инструмента за персонализиране на навигационната лента на AOSP и трябва да работят. Това означава, че вероятно няма да работи на вашето стандартно устройство LG, Samsung или Huawei/Honor. Вижте раздела "съвместимост". в първия пост на тази тема. (Забележка: OEM на вашето устройство може да не е посочен в тази нишка. Единственият начин да разберете със сигурност дали вашето устройство е съвместимо е да изпробвате приложението, което ще ви покажем как да направите по-долу.)

Изисквания за приложението:

  • Персонализирана лента за навигация (Безплатно за 2 профила)
  • Tasker ($2.99)
  • Автоматично въвеждане бета (v2.0.5b.bf) (~$1,70)

Причината, поради която се нуждаем от персонализирана лента за навигация, е очевидна - това приложение е това, което ще ни позволи да променим лентата за навигация, за да показва тези клавиши за възпроизвеждане на мултимедия. (Технически всъщност не се нуждаем от това приложение за тези модификации, тъй като можем да използваме команди на обвивката или други плъгини на Tasker, но за да улесним нещата за нашите потребители ще покажем как да настроите това с помощта на това прекрасно приложение.) AutoInput Beta е плъгин на Tasker, който ще ни помогне да открием кога клавиатурата е показване (технически приставката ще открие кога се показва поле за въвеждане на текст, вместо да се показва самата клавиатура, но това е най-близкото, което можем получи). И накрая, Tasker преодолява празнината между AutoInput Beta и персонализираната лента за навигация.

Настройка: Персонализирана лента за навигация

Първото нещо, което трябва да направим, е да се уверим, че дори е възможно да промените навигационната лента на вашето устройство. Ако вашето устройство е едно от посочените като съвместими в Персонализирана нишка на лентата за навигация, тогава шансовете са, че ще бъде. Можем да проверим, като преминем през краткия урок, който придружава това приложение.

Инсталирайте приложението от Google Play Store, след това отворете приложението и продължете през уводните екрани. Персонализираната лента за навигация ще ви помоли да й предоставите определено разрешение, наречено WRITE_SECURE_SETTINGS, за да продължите с използването на приложението. Има два начина, по които можете да направите това, както е посочено в приложението.

  1. Ако имате руутнато устройство, персонализираната навигационна лента ще поиска достъп на суперпотребител. Дайте го и приложението автоматично ще си даде това разрешение.
  2. Ако вашето устройство не е руутнато, тогава ще трябва да дадете разрешение чрез ADB. Отворете команден ред/терминал на вашето устройство и след това въведете следната команда: adb shell pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS

След като предоставите на приложението това разрешение чрез един от двата метода по-горе, приложението ще продължи с тест за съвместимост. Ако навигационната ви лента не се промени, значи за съжаление нямате късмет. Ако лентата ви за навигация се промени, за да показва бутон със стрелка надясно, тогава поздравления, вашето устройство се поддържа! Сега можем да преминем към модифициране на нашата навигационна лента.

Настройка: AutoInput Beta

За да може AutoInput Beta да открие кога се показва поле за въвеждане на текст, трябва да активираме неговата услуга за достъпност. Всичко, което трябва да направите, е да отидете в Настройки --> Достъпност (в зависимост от вашето устройство, може да е в друго подменю) и да намерите AutoInput в списъка с услуги. Докоснете го, след което натиснете горния превключвател, за да активирате услугата за достъпност.


Урок

След като потвърдите, че персонализираната лента за навигация е съвместима с вашето устройство и че услугата за достъпност е активирана за AutoInput Beta, е време да настроите всичко това. Първото нещо, което трябва да направим, е да създадем нов профил в Custom Navigation Bar, който, когато е активиран, ще добави левия/десния клавиш към нашата лента за навигация. Ето инструкциите стъпка по стъпка:

  1. Отворете приложението Персонализирана навигационна лента и докоснете Профили в раздела Автоматизация.
  2. Докоснете + икона горе вдясно, за да добавите нов профил.
  3. Докоснете току-що създадения профил.
  4. В секцията Профил докоснете Име и наименувайте този профил Курсори на клавиатурата.
  5. Докоснете под „Допълнителен ляв бутон“. Тип. Задайте Тип на Ключов код.
  6. Трябва да има две нови опции под „Допълнителен ляв бутон“, наречен Keycode и Icon. Натисни Ключов код.
  7. Превъртете надолу и изберете Dpad вляво.
  8. Сега докоснете Икона в раздела „Допълнителен ляв бутон“.
  9. Изберете шеврон вляво икона.
  10. Повторете стъпки 5-9 за „допълнителен десен бутон“. Задайте обаче Keycode на Dpad Right и задайте иконата на шеврон вдясно.
  11. Архивирайте в горната част под секцията Профил, докоснете Активирано за да тествате този профил. Ако видите изскачащи стрелки наляво и надясно в лентата за навигация, значи това работи правилно.

Сега, след като сме настроили персонализирания профил на лентата за навигация, ние сме готови да настроим нашия профил Tasker, който ще активира/деактивира този профил, когато въвеждането на текст бъде открито/изчезне. Всичко това ще бъде направено в един единствен профил. Ето инструкциите:

  1. Отворете Tasker и създайте нов профил, като докоснете + икона долу вдясно.
  2. Изберете Събитие контекст.
  3. Избирам Plugin --> AutoInput --> UI Action. Докоснете иконата на молив, за да отворите конфигурацията на AutoInput.
  4. След като сте в конфигурацията на AutoInput UI Action, докоснете Видове действия. Изберете Фокусиран входен елемент и Загубен фокус на входния елемент. Игнорирайте секцията Текст на елемента. Докоснете иконата с отметка отгоре, когато сте готови.
  5. Върнете се в главния екран на Tasker и Tasker ще ви помоли да прикачите задача към този профил. Изберете да създадете нова задача. Не си правете труда да наименувате Задачата.
  6. Добавете действие към тази задача, като докоснете + икона в долната среда.
  7. Отидете на Задача --> Ако. Задайте го на Ако %aifocus ~ вярно. ~ е "съвпадение".
  8. За второто действие отидете на Добавка --> Персонализирана лента за навигация. Натиснете иконата на молив, за да отворите конфигурацията. За действие изберете Активиране на профил. Под Избор на профил изберете Курсори на клавиатурата профил, който направихме по-рано.
  9. За третото действие отидете на Задача --> Друго.
  10. За четвъртото действие отидете на Добавка --> Персонализирана лента за навигация. Натиснете иконата на молив, за да отворите конфигурацията. За действие изберете Деактивиране на профила. Под Избор на профил изберете Курсори на клавиатурата профил още веднъж.
  11. За последното действие отидете на Задача --> Край Ако.
  12. Натиснете назад и излезте от екрана за редактиране на задачи.

След като направите всички стъпки по-горе, ние сме готови! Продължете и го изпробвайте, като отворите произволно поле за въвеждане на текст и видите дали навигационната ви лента се променя, за да включва левия/десния курсор на клавиатурата. Ако не работи, проверете отново дали услугата за достъпност на AutoInput е активирана.


Използване на команди на Shell

Като се има предвид колко лесно е да се използва XDA Senior Member paphonbПерсонализирана лента за навигация приложение, наистина не виждам нужда от предоставяне на подробни инструкции стъпка по стъпка как да направите това с други плъгини на Tasker, като напр. SecureTask или AutoTools (или функцията run shell в Tasker). Със сигурност обаче е възможно и най-малкото ще предоставя обобщение на командите, от които се нуждаете, за да копирате тази настройка без използването на приложението на paphonb.

Първото нещо, което трябва да направите, е да инсталирате SecureTask или AutoTools. Ще трябва да предоставите разрешение WRITE_SECURE_SETTINGS на което и приложение да изберете, за да контролирате тунера на навигационната лента.

За SecureTask:

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

За AutoTools:

adbshellpmgrantcom.joaomgcd.autotoolsandroid.permission.WRITE_SECURE_SETTINGS

След това ще трябва да изтеглите иконите, които ще използвате за предишните/следващите клавиши. Ще ви трябват иконите във формат PNG, а що се отнася до размера, можете да определите размера на иконите, от които се нуждаете, като потърсите своя показатели за плътност на дисплея на устройството в Material.io и съпоставяне на това с an референтна таблица за размера на иконата. IconsDB.com е добър ресурс за безплатни икони. Запазете иконите, които ще използвате като left.png и right.png в папка, наречена /NavIcons в основната директория на вашето хранилище.

И накрая, ще въведете тази команда, за да покажете бутоните за управление на медиите:

settings put secure sysui_nav_bar "key(21:file:///storage/emulated/0/NavIcons/left.png),back; home; recent, key(22:file:///storage/emulated/0/NavIcons/right.png)"

където се отнася ключ #21 KEYCODE_DPAD_LEFT и ключ #22 се отнася за KEYCODE_DPAD_RIGHT.

След това, за да върнете клавишите на лентата за навигация към оформлението по подразбиране (т.е. фокусът за въвеждане на текст е изгубен), въведете тази команда:

settings put secure sysui_nav_bar "space, back; home; recent, menu_ime"

По същество настройката на профила на Tasker ще бъде точно същата като настройката по-горе, с изключение на това, че вместо двете персонализирани действия на Tasker в лентата за навигация ще използвате SecureTask/AutoTools/Run Shell. Само имайте предвид, че освен ако не сте руутнати и използвате действието „изпълни shell“ в Tasker, процесът за получаване на тези команди в SecureTask или AutoTools зависи изцяло от вас. Наистина не е толкова трудно да се направи, но много потребители смятат, че просто използването на приложението на paphonb е по-лесно за използване, така че няма да навлизам в повече подробности тук.


Заключение

Това е всичко за този урок. От време на време ще публикувам бъдещи уроци, когато намеря по-практични приложения за промяна на навигационната ви лента, особено по контекстуален начин с помощта на приложение за автоматизация като Tasker. Ако имате някакви умни идеи, но не знаете как да ги реализирате сами, изпратете ни съобщение чрез нашия Формуляр за съвети или ни изпратете имейл директно и ние ще направим всичко възможно, за да го разберем!

Моля, подкрепете XDA-Developers по какъвто начин можете! Наскоро открихме, че има няколко блога, изрязани, копирани, поставени нашите оригинални уроци и друго съдържание, споделено от нашите потребители във форумите. Тези блогове се опитват да си припишат заслугата за огромните усилия, които полагаме при съставянето на тези уроци, вместо да предоставят качествено съдържание сами. Няма да намерите уроци като тези, които сме написали в нашия категория уроци или уроци от нашите форуми навсякъде другаде.

Следвай ни в Twitter, Google+, Facebook, или YouTube. Разгледайте нашите XDA Labs приложение за бърз начин за сърфиране в нашите форуми (и помислете за получаване XDA Без реклами също!) на вашето мобилно устройство и вижте нашите наскоро пуснати XDA канал приложение, ако притежавате OnePlus 3 или OnePlus 3T! Благодаря и следете за следващия ни урок!