Урок за това как да показвате бутоните на курсора наляво/надясно в лентата за навигация на Android O, но само когато полето за въвеждане на текст е активно.
Едно от най-старите допълнения към персонализирани ROM, което все още не е навлязло в официално издание на Android, е възможността за ръчно преместване на курсора за въвеждане на текст. В зависимост от вашия ROM, може да имате възможността да местите курсора за въвеждане на текст с помощта на бутоните за сила на звука или чрез натискане на виртуални бутони на лентата за навигация. Тази функция е от съществено значение, ако често се връщате, за да правите корекции, когато пишете, но без персонализирана ROM няма да можете да й се насладите.
Въпреки това, ако изпълнявате Визуализация за разработчици на Android O който има нов инструмент за персонализиране на лентата за навигация скрит под SystemUI Tuner, тогава можете да добавите леви/десни курсори на клавиатурата към вашата навигационна лента. Всичко, което трябва да направите, е да зададете левия клавиш на навигационната лента на
KEYCODE_DPAD_LEFT (#21) и дясната навигационна лента, клавиш за KEYCODE_DPAD_RIGHT (#22). Що се отнася до иконите, използването на иконите със стрелка наляво/надясно по подразбиране има най-голям смисъл. Този метод определено работи, както е посочено от Android Police, но има недостатъци, защото изисква тези ключове да бъдат поставени постоянно на навигационната лента.Ако имашбешеследното моя предишенуроци в инструмента за персонализиране на лентата за навигация на Android O, тогава ще знаете, че е възможно да промените двата клавиша на лентата за навигация въз основа на критериите, които искаме. По този начин, за да направим нашето ново въвеждане на текст/клавиатурни курсори по-осъзнати от контекста, можем да използваме Tasker за показвайте бутоните на курсора на клавиатурата само докато въвеждането на текст се показва на Android O. Ще предоставим инструкции стъпка по стъпка в този урок, но можете също да прескочите до края, за да изтеглите профила, за да го импортирате.
Благодаря на Eli Irvin за тестването на моя Tasker профил и заснемането на този екранен запис!
Показване на левия/десния курсор в лентата за навигация по време на въвеждане на текст
Изисквания:
- Tasker ($2.99)
- SecureTask
- Автоматично въвеждане бета (~$1.70)
Tasker е необходим, защото това е приложението за автоматизация, което използваме, което, когато AutoInput открие текстово поле, ще изпрати команди чрез плъгина SecureTask, за да промени нашата навигационна лента. След като инсталирате тези приложения, трябва да ги настроим.
Въпреки че няма директен начин да открием кога клавиатурата се показва, едно нещо, което можем да наблюдаваме, е кога текстовото поле е на фокус. Ще разберете кога полето за въвеждане на текст е на фокус, като забележите, че мигащ курсор се показва в текстово поле. Можем да ги наблюдаваме, като използваме последната бета версия на AutoInput, която току-що беше пусната, което ни позволява да постигнем това. За да може AutoInput да наблюдава текстовите полета, трябва да активираме неговата услуга за достъпност.
Това става много бързо, просто отидете на Настройки --> Достъпност и потърсете „Автоматично въвеждане“ в списъка с услуги. Активирайте услугата за достъпност.
След това трябва да предоставим на SecureTask възможността да променя системните настройки на нашето устройство. За да направим това, трябва да предоставим на SecureTask специално разрешение, известно като WRITE_SECURE_SETTINGS, което е обикновено недостъпни за обикновени приложения, но могат да бъдат предоставени ръчно от потребител чрез използването на ADB. По този начин ще трябва да имате ADB и да работи на вашата машина, за да работи това. За щастие предоставянето на това разрешение е само еднократно, така че ако планирате да следвате някое от нашите други ръководства, свързани с Android O, ще трябва да направите това в крайна сметка.
Настройка на ADB
Първото нещо, което трябва да направите, е да изтеглите двоичния файл на ADB за вашата конкретна операционна система. Можете да го направите тук. След като ги изтеглите, трябва да се уверите, че имате правилен драйвер ако сте на Windows.
След като извлечете двоичния файл в отделна папка и инсталирате драйвера, трябва да активираме USB Debugging на смартфона. За да направите това, отворете Настройки и отидете на Всичко за телефона. Докоснете Номер на компилация 7 пъти, докато получите диалогов прозорец, който ви казва, че сте отключили Опции за разработчици. Имате достъп до Опции за разработчици в Настройки сега. Очевидно в Android O трябва да въведете своя ПИН/парола, преди да можете да отворите Опции за разработчици. Направете го и потърсете USB отстраняване на грешки, след което го активирайте.
Сега включете телефона си и отворете команден ред в същата директория, където сте извлекли двоичния файл на ADB. (Потребители на Windows, задръжте shift+щракнете с десния бутон в тази папка и изберете „отваряне на командния ред тук.“) Въведете adb devices
в командния ред. Ще видите съобщение, че ADB сървърът се стартира, след което на телефона си ще видите подкана, която ви моли да предоставите на вашия компютър ADB достъп. Приеми го. Сега, когато влезете adb devices
в командния ред, трябва да видите серийния номер на вашето устройство, ако е така, значи сте успели.
Предоставяне на WRITE_SECURE_SETTINGS на SecureTask
При отворен команден ред на ADB въведете следната команда, за да предоставите на SecureTask необходимото разрешение.
adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS
SecureTask вече ще има способността да променя системните настройки без root достъп! Сега сме готови да преминем към Tasker.
Настройване на профила на Tasker
Отворете Tasker и създайте нов профил, като натиснете бутона +. Назовете го Курсори на клавиатурата и изберете Събитие Контекст. Отидете на Plugin --> AutoInput --> UI Action. За типовете действия изберете Фокусиран входен елемент и Загубен фокус на входния елемент. Оставете текста на елемента празен. Добавянето на този контекст на AutoInput ще стартира услугата за наблюдение на AutoInput, за да открие кога е въведен текст полето получава или губи фокус и го съхранява в променлива като булева (вярно/невярно) стойност, която можем Прочети.
След като приключите с създаването на профила, Tasker ще ви помоли да добавите задача. Изберете да създадете нова задача, но не си правете труда да й давате име. След като сте в екрана за редактиране на задача, добавете следните действия:
- A1: Задача --> Ако. Задайте го на ако %aifocus ~ true. Това ще бъде нашето условие, когато AutoInput установи, че поле за въвеждане на текст е на фокус. Следващите две действия ще настроят клавишите на лентата за навигация на клавишите DPAD_LEFT и DPAD_RIGHT.
-
A2: Добавка --> SecureTask --> Secure Settings. Действие: Пишете. Настройка:
secure sysui_nav_bar_left
. Стойност:key(21:com.android/systemui/2131230907)
. -
A3: Добавка --> SecureTask --> Secure Settings. Действие: Пишете. Настройка:
secure sysui_nav_bar_right
. Стойност:key(22:com.android/systemui/2131231004)
. - A4: Задача --> Друго. Това е, когато %aifocus е зададено на false, в реда на думите полето за въвеждане на текст е загубило фокус. След това ще изчистим клавишите на навигационната лента.
-
A5: Добавка --> SecureTask --> Secure Settings. Действие: Пишете. Настройка:
secure sysui_nav_bar_left
. Стойност:null
. -
A6: Добавка --> SecureTask --> Secure Settings. Действие: Пишете. Настройка:
secure sysui_nav_bar_right
. Стойност:null
. - A7: Задача --> Край Ако.
Приключихте с този скрипт на Tasker. Сега по всяко време AutoInput открие поле за въвеждане на текст на фокус (което корелира с това, когато клавиатурата ви е показва), ще видите два нови курсорни клавиша на навигационната лента, които ще изчезнат, когато полето за въвеждане на текст вече не е на фокус.
Изтегляне и импортиране
Както при всички уроци, свързани с Tasker, ние ще предоставим XML файла, който можете да изтеглите и импортирате. Изтеглете файла .prf.xml от AndroidFileHost по-долу и го запазете във вашата вътрешна памет. Отворете Tasker и натиснете дълго върху раздела Profiles в горната част, докато видите бутон Import. Докоснете това и потърсете XML файла, който току-що сте запазили, след което го изберете, за да го импортирате. Уверете се, че сте активирали услугата за достъпност на AutoInput и сте разрешили WRITE_SECURE_SETTINGS към SecureTask, както е споменато в моята статия, в противен случай този профил няма да работи всичко на вашия телефон!
Изтеглете профила „Клавиатурни курсори“ от AndroidFileHost
Ако се чудите какви други полезни клавиши можем да добавим към лентата за навигация, за да направим Android O по-приятно изживяване, ще ви покажем алтернативна настройка в бъдещ урок.