Автоматическое сканирование специальных возможностей Android не сканирует пользовательскую OSK

В настоящее время я работаю над экранной клавиатурой, предназначенной для пользователей с ограниченными возможностями. Из-за варианта использования существует довольно много пользовательских реализаций сенсорных событий.

Хотя в сенсорном режиме он работает должным образом, во время сеанса тестирования с использованием функции автоматического сканирования с помощью переключателя bluetooth система полностью игнорирует пользовательский OSK. Я попытался добавить focusable, focusableInTouchMode в корневом представлении клавиатуры, но все равно представление клавиатуры игнорируется.

Теперь мой вопрос: есть ли правило или какое-то руководство, которому нужно следовать, чтобы автоматическое сканирование работало? Заранее спасибо.


person jonDoe    schedule 28.04.2019    source источник


Ответы (1)


Switch Access предлагает пользователю возможность выполнять действия. Вам нужно будет предоставить такие действия, как action_click, в API специальных возможностей.

Клавиатуры часто рисуют свой пользовательский интерфейс непосредственно на экране, и поэтому необходимо использовать ExploreByTouchHelper, чтобы предоставить доступ к иерархии виртуальных представлений.

Это общие комментарии, поскольку я не знаю, какой подход вы используете для создания своего пользовательского интерфейса.

person Phil Weaver    schedule 29.04.2019
comment
Привет, Фил, спасибо за ваш комментарий. В настоящее время пользовательский интерфейс клавиатуры создается с использованием класса KeyboardView. Имеет смысл, что это не работает, потому что мы не обрабатываем клики и длинные клики обычным образом. Вместо этого у нас есть возможность для пользователя выбрать, как долго он хочет удерживать клавишу, а также различные другие сенсорные настройки. Я буду больше изучать ExploreByTouchHelper, так как впервые слышу об этом. Спасибо еще раз! - person jonDoe; 30.04.2019