Тактильный UX-дизайн

Сопоставление констант HAL-API, представленное на шаге 2 контрольного списка тактильных ощущений, основано на настоятельно рекомендуемых принципах проектирования UX. Принципы UX-дизайна определяют, как, когда и что использовать при использовании тактильных API Android. См. статью Advanced Haptics: когда, что и как использовать новые Haptic API, чтобы узнать больше об этих основополагающих принципах.

Постоянное картографирование

Рисунок 1. Сопоставление констант HAL-API: дискретная модель

Выберите тактильные эффекты

По тактильной силе ( VibrationEffect )

EFFECT_CLICK — лучшее место для начала определения предпочтительной тактильной силы ( VibrationEffect ): это медиана между «легкими» тактильными ощущениями EFFECT_TICK и «тяжелыми» тактильными ощущениями EFFECT_HEAVY_CLICK . Начав с EFFECT_CLICK , вы можете увеличить или уменьшить концептуальную энергию, добавив силу с помощью EFFECT_HEAVY_CLICK , или уменьшить силу с помощью EFFECT_TICK . Имейте в виду, что EFFECT_DOUBLE_CLICK обеспечивает максимальную концептуальную энергию, потому что он повторяется.

Тактильная сила

Рисунок 2. Настройки тактильной силы

По событиям ввода и элементам пользовательского интерфейса ( HapticFeedbackConstants ).

Если ваша цель связана с определенными событиями ввода (например, длительным нажатием или пролистыванием) или элементами пользовательского интерфейса (например, клавиатурой), найдите предопределенные тактильные константы в HapticFeedbackConstants . Имя каждой константы относится к конкретным случаям использования, например KEYBOARD_PRESS или LONG_PRESS .

Имитируйте реальные события нажатия кнопок

Тактильная обратная связь о событиях ввода (виртуальные программные кнопки) может имитировать нажатия кнопок с использованием физических объектов (например, механических аппаратных кнопок).

Входное событие: поток парного взаимодействия.

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

Пресс-релизы о мероприятиях

Рисунок 3. Тактильные эффекты в зависимости от события двоичного ввода

Тактильная сила: возможность нажатия кнопки

События ввода с более коротким и легким взаимодействием связаны с более легкими тактильными ощущениями. События ввода с более длительным и глубоким взаимодействием связаны с более сильными тактильными ощущениями.

Пресса Affordance Haptics

Рисунок 4. Тактильные эффекты по доступности

Имитировать виртуальную текстуру в событии ввода жестом

Ввод на основе жестов (например, прокрутка или прокрутка) может быть согласован с виртуальными тактильными текстурами во время движения пальца по экрану вместе с визуальными пользовательскими интерфейсами, например, создавая повторяющуюся тактильную обратную связь, пока палец движется вокруг часов. Пользовательский интерфейс с виртуальной галочкой Элементы пользовательского интерфейса.

Эффекты виртуальных тактильных текстур предназначены для повторения. Из-за этого воспринимаемая энергия часто становится выше амплитуды (когда эффект вызывается без повторения или только один раз ). По этой причине тактильные константы, разработанные для виртуальных тактильных текстур (например, CLOCK_TICK или TEXT_HANDLE_MOVE ), должны быть тонкими , чтобы обеспечить ощущение движения посредством повторяющихся сигналов.

Виртуальная текстура

Рисунок 5. Тактильные эффекты для имитации виртуальной текстуры.

Включить настроения

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

Тактильные ощущения

Рисунок 6. Тактильные эффекты с настроением

Избегайте слышимого шума от длительной вибрации.

Чтобы избежать слышимого шума от длительной вибрации для тактильных ощущений внимания, плавно ускоряйте рисунок, чтобы создать эффект нарастания. Сделайте это с помощью createWaveform(long[] timings, int[] amplitudes, int repeat) .

Длительная вибрация

Рисунок 7. Эффект нарастания длительной вибрации