Когда пользователи взаимодействуют с вашим приложением, они часто используют несенсорные механизмы ввода:
- Рабочие среды : Пользователи перемещаются по сайту и вводят данные с помощью физических аппаратных клавиатур и тачпадов.
- Android TV : Пользователи перемещаются по интерфейсу с помощью D-pad .
- Автомобильная промышленность : Водители и пассажиры взаимодействуют с помощью поворотных контроллеров .
- Складные устройства и планшеты : пользователи подключают чехлы-клавиатуры и внешние устройства ввода.
Во всех этих сценариях ваше приложение должно отслеживать, какой интерактивный элемент активен на экране — это активное состояние называется фокусом .
Ключевые факторы для интуитивно понятной навигации с помощью клавиатуры
Для обеспечения превосходного пользовательского опыта на больших экранах и устройствах без сенсорного управления, при разработке приложения руководствуйтесь следующими принципами:
- Логичный первоначальный фокус : сосредоточьте первоначальный фокус на элементе, с которым пользователи, скорее всего, будут взаимодействовать при входе на экран.
- Единый порядок навигации : Обеспечивает предсказуемое перемещение фокуса как в одномерном ( клавиша Tab ), так и в двухмерном (клавиши со стрелками или D-pad) направлении.
- Постоянная фокусировка : Бесперебойное восстановление фокуса после прерываний, закрытия диалоговых окон или изменений конфигурации.
- Очистить состояние фокуса : Отобразить заметные, легкодоступные визуальные подсказки (например, кольца фокуса или рябь), указывающие, какой элемент в данный момент находится в фокусе.
- Интуитивно понятная прокрутка : Обеспечьте плавную прокрутку сфокусированного элемента и окружающего его контекста в видимую область экрана.
Направляющие фокусировки
Ознакомьтесь со следующими руководствами, чтобы узнать, как управлять фокусом и настраивать его в Compose:
- Цели фокусировки : Узнайте, как интерактивные компоненты становятся целями фокусировки и как сделать так, чтобы пользовательские составные элементы могли быть сфокусированы.
- Понимание порядка перемещения : разберитесь в порядке появления объектов в 1D-пространстве и навигации в 2D-пространстве, а также в том, как настраивать пути перемещения.
- В центре внимания – текстовые поля : узнайте, как в однострочных и многострочных текстовых полях обрабатываются клавиши Tab и стрелки, а также как работает взаимодействие с IME на телевизоре.
- Группировка целевых объектов фокусировки : Группировка компонентов с помощью
focusGroupи перехват перенаправления на вход или выход. - Восстановление фокуса : Восстановление фокуса на ранее активные дочерние элементы в контейнерах, обработка компонентов навигации и управление фокусом при переходах между экранами.
- Указание состояния фокуса : Примените визуальные подсказки и пользовательскую индикацию для выделения компонентов, находящихся в фокусе.
- Реагирование на фокус : отслеживайте изменения фокуса и запрашивайте свойства состояния фокуса с помощью
onFocusChanged. - Программный запрос фокуса : Явное перемещение фокуса в ответ на действия пользователя или ошибки проверки.
- Перемещение и снятие фокуса : Программное перемещение или снятие фокуса с помощью
FocusManager. - Захват и освобождение фокуса : Захват фокуса для модальных под-взаимодействий и его безопасное освобождение.
- Тестирование навигации по фокусу : напишите автоматизированные тесты Compose для проверки взаимодействия с клавиатурой при работе с одномерными, двухмерными элементами и текстовыми полями.
Рекомендуем вам
- Примечание: текст ссылки отображается, когда JavaScript отключен.
- Целевые показатели
- Порядок перемещения фокуса
- Фокусировка на текстовых полях
- Целевые показатели фокусировки группы
- Тестирование навигации по фокусу