Жесты одной рукой

Умные часы идеально подходят для использования в дороге, но управлять ими становится сложно, когда у пользователей заняты руки. Для решения этой проблемы Wear OS 7 представляет новую структуру управления жестами одной рукой для производителей оборудования и API жестов для разработчиков, использующих Jetpack Compose на Wear OS. Хотя эта базовая структура используется исключительно устройствами Pixel Watch (Pixel Watch 3 и более новые модели), она доступна всем производителям. Благодаря поддержке этого API поддержка жестов в вашем приложении может автоматически масштабироваться в рамках экосистемы по мере того, как другие производители оборудования подключаются к ней.

Для создания удобных и бесконтактных интерфейсов следуйте этим рекомендациям, чтобы определить, подходят ли жесты одной рукой для вашего приложения.

Поддерживаемые жесты и действия

В Wear OS для управления жестами поддерживаются два типа жестов: основное действие и действие закрытия . На Pixel Watch основное действие соответствует жесту двойного сжатия, а действие закрытия — жесту поворота запястья.

Двойной щипок: запускает основное действие.
Поворот запястья: запускает действие по удалению.

Первичное действие

Основное действие должно соответствовать главной задаче, например, ответу на телефонный звонок или переключению воспроизведения или паузы в элементах управления мультимедиа, которую пользователь может выполнить на экране или странице. Если страница прокручивается, ваше приложение может одновременно сопоставлять с основным действием только один элемент пользовательского интерфейса.

Ответ на телефонный звонок.
Переключение воспроизведения или паузы в настройках мультимедиа.

Отключение пожарной сигнализации.
Прокручиваемый контент.

Двойное масштабирование наиболее полезно, когда пользователь может перейти к этому элементу пользовательского интерфейса с помощью жестов, голоса или когда элемент открывается автоматически (например, уведомление или элементы управления мультимедиа). Если единственный способ перейти к элементу пользовательского интерфейса — это касание или кнопки, то это действие не является подходящим вариантом использования основного жеста.

Отклонить действие

По умолчанию действие «Закрыть» соответствует системному действию «Назад» и возврату на предыдущий экран. Ваше приложение может переопределить действие «Поворот запястья» для конкретных случаев использования, но эти исключения все равно должны соответствовать концепции «Закрыть», «Отключить звук» или «Свернуть». Примерами переопределений являются отключение звука звонка вместо его закрытия и закрытие уведомлений вместо их закрытия или удаления. Это действие никогда не должно быть сопоставлено с произвольными действиями в вашем приложении, как бы заманчиво это ни было, поскольку это нарушает пользовательскую модель, в которой действие «Закрыть» используется как постоянный индикатор команды «Назад» или «Закрыть».

Действие «Закрыть» также можно отключить для экрана, если он представляет опасность из-за случайных срабатываний, например, на активном экране тренировки или при экстренном вызове. Чтобы отключить поворот запястья для данного экрана, подпишитесь на действие «Закрыть», но ничего не делайте с отправленным событием жеста; то есть предоставьте пустую подписку.

Краткие рекомендации по жестам

Фреймворк жестов Wear OS предназначен для обработки прерываний и управления. Он не предназначен для обеспечения полноценной навигации по часам. Следуйте этим рекомендациям, чтобы внедрить жесты одной рукой в ​​ваше приложение:

  1. Минимизируйте навигацию: используйте жесты для быстрых взаимодействий, таких как закрытие уведомления или приостановка и возобновление воспроизведения медиаконтента.
  2. Используйте прокрутку экономно: основной жест (двойное сжатие) можно использовать для прокрутки, но это не должно быть способом прокрутки по умолчанию для всего прокручиваемого контента. Включайте прокрутку жестами только при соблюдении следующих условий:
    • Пользователь может перейти к прокручиваемому экрану одной рукой или без помощи рук, например, с помощью жеста, голосовой команды или на экране, который автоматически запускается, например, для управления мультимедиа и навигации по картам.
    • Контент, например, краткое описание тренировки, обеспечивает быструю и понятную информацию и не требует дальнейшего взаимодействия, за исключением дополнительной кнопки, которая также может выполнять основное действие жеста после прокрутки (например, кнопка завершения ).
  3. Избегайте тупиков: убедитесь, что действия с помощью жестов не приводят к тупикам, когда пользователь не может продолжить свой путь без использования сенсорного экрана или физической кнопки.
  4. Избегайте скрытых действий: никогда не скрывайте действия, выполняемые только жестами. Если пользователь может выполнить действие с помощью двойного сжатия пальцев, должна присутствовать видимая, нажимаемая кнопка, выполняющая ту же задачу. Исключением являются универсальные действия, такие как поворот запястья для возврата назад, где намерение пользователя трудно предсказать.

Взаимодействие с помощью жестов и обратная связь

Когда пользователь выполняет доступный жест, происходит следующая последовательность событий:

  1. Подсказка по жесту: Когда доступен основной жест действия, на экране отображается анимированное изображение руки, выполняющей этот жест, информирующее пользователя о том, какой жест доступен и на какой элемент пользовательского интерфейса он будет воздействовать. Как правило, подсказки не отображаются для действия закрытия, если оно не привязано к элементу пользовательского интерфейса на экране.
  2. Тактильная обратная связь: короткий, четкий тактильный сигнал воспроизводится при успешной обработке жеста.
  3. Звуковая и визуальная обратная связь: Любая звуковая или визуальная обратная связь, связанная с элементом пользовательского интерфейса и возникающая при сенсорном взаимодействии, должна также запускаться при жестовых действиях. Для обеспечения единообразного пользовательского опыта необходимо подключить существующие в приложении функции обратного вызова для обработки звука и изображения при касании к событиям жестов.

    Пример: Камера имеет связанный со звуком затвора и взаимодействием с кнопками, которое должно активироваться жестами.

Подсказки по жестам, обучение и настройки

Для обеспечения возможности обнаружения жестов Pixel Watch предоставляет интерактивное руководство на самих часах и систему подсказок в рамках API жестов. Настройки жестов также доступны в системных настройках — на Pixel Watch в разделе «Настройки» > «Жесты» > «Жесты рук» .

Ввод в учебный процесс

На Pixel Watch пользователи знакомятся с жестами рук с помощью интерактивного руководства и подсказок Pixel Tips. Нет необходимости создавать отдельное руководство по жестам в вашем приложении. Вместо этого используйте контекстные подсказки, предоставляемые Jetpack Compose на Wear OS, чтобы сообщить пользователям, где в вашем приложении доступны жесты.

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

Контекстные подсказки

Чтобы помочь пользователям распознавать жесты в вашем приложении, предоставьте подсказки, связывающие действие жеста с физическим воздействием. Ненавязчивые подсказки более понятны и легко читаются, минимально мешая другим элементам пользовательского интерфейса.

К типам контекстных подсказок относятся:

  • Подсказка к кнопке
    • Отображается в виде анимированной иконки внутри элемента пользовательского интерфейса, например, кнопки, временно скрывая обычное содержимое этого элемента, такое как надпись кнопки или иконка.
  • Плавающий намёк
    • Анимированная иконка, заключенная в небольшой всплывающий значок, указывающий на элемент пользовательского интерфейса, на который воздействует жест. Плавающие подсказки обычно используются, когда элемент пользовательского интерфейса, на который они указывают, слишком мал, чтобы вместить подсказку. Основной пример — прокрутка, где всплывающий значок указывает на полосу прокрутки, чтобы показать, что основной жест будет прокручивать.
    • Подсказка может указывать на любое из основных направлений (вверх, вниз, влево, вправо).

Подсказка к кнопке

Пример подсказки для кнопки

Временно заменяет существующий значок или текст.

Плавающий намёк

Пример плавающей подсказки

Указывает на элемент на экране, который слишком мал для размещения подсказки кнопки.

Цветовая маркировка:

  • Подсказка к кнопке
    • По умолчанию цвет анимированного векторного изображения (AVD) подбирается в соответствии с цветом значка кнопки или текста ( LocalContentColor ).
    • При необходимости цвет AVD можно изменить на пользовательский. Однако, как правило, для обеспечения надлежащего контраста цвет должен совпадать с цветом временно заменяемого контента.
  • Плавающий намёк
    • К контейнеру подсказки применяется Tertiary цвет.
    • Цвет AVD имеет оттенок onTertiary .
    • Вы можете настроить как цвет подсказки, так и цвет фоновой фигуры.

Подсказка по цвету кнопки

Пример подсказки по цвету для кнопки

Цвет AVD соответствует цвету значка кнопки или текста.

Плавающая подсказка с цветовой индикацией

Пример плавающей подсказки по цвету

Подсказка: контейнер использует Tertiary , а AVD использует onTertiary .

Подсказка: правила ритма.

Чтобы помочь пользователям распознавать жесты, платформа предоставляет настраиваемую частоту отображения подсказок для каждого варианта использования. Логика частоты отображения подсказок является глобальной, а не индивидуальной для каждого варианта использования. Фреймворк Wear OS Gestures управляет частотой и предоставляет пользователям возможность регулировать её с помощью настройки (на Pixel Watch, Жесты > Жесты рук > Подсказки жестов ).

  • Подсказки к кнопкам
    • При первом запуске приложения с жестом или при обновлении приложения, в котором добавлена ​​возможность использования жестов, для этого действия как минимум один раз появляется подсказка. Подсказка отображается повторно только с заданной пользователем периодичностью (например, «Всегда» , «Ежедневно» и «Ежемесячно »). По умолчанию подсказки отображаются всегда .
  • Плавающие подсказки
    • Поскольку плавающие подсказки закрывают соседний контент, они появляются не чаще одного раза в день для каждого игрового опыта. Если глобальная частота появления подсказок установлена ​​на значение, меньшее, чем один раз в день ( Ежедневно ), то система использует эту более низкую частоту.
Экран настроек подсказок жестов на Pixel Watch
Экран настроек подсказок жестов на Pixel Watch

Дополнительные ресурсы

Для получения рекомендаций разработчикам по реализации жестов одной рукой в ​​вашем приложении см. раздел «Создание приложений для запястья с помощью Wear OS» .