Сопоставление констант HAL-API, представленное в Сопоставление констант между HAL и API, основано на настоятельно рекомендуемых принципах проектирования UX. Принципы проектирования UX определяют основу того, как, когда и что использовать при использовании API тактильных ощущений Android. Подробнее об этих основополагающих принципах см. в разделе Advanced Haptics: The When, What, and How of New Haptic APIs.
Рисунок 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
.
Имитация реальных событий нажатия кнопок
Тактильная обратная связь при нажатии на события ввода (виртуальные программные кнопки) может имитировать нажатия кнопок с использованием физических объектов (например, механических жестких кнопок).
Входное событие: поток парного взаимодействия
Событие click разработано для имитации поведения механической кнопки, которая нажимается и затем отпускается . Воспринимаемая энергия механического импульса от нажатия кнопки выше, чем от отпускания кнопки. Поэтому тактильная обратная связь для нажатия кнопки сильнее тактильной обратной связи для отпускания кнопки.
Рисунок 3. Тактильные эффекты от двоичного входного события
Сила тактильного ощущения: возможность нажатия кнопки
События ввода с более коротким и легким взаимодействием связаны с более легкой тактильной чувствительностью. События ввода с более длинным и глубоким взаимодействием связаны с более сильной тактильной чувствительностью.
Рисунок 4. Тактильные эффекты по возможностям
Имитация виртуальной текстуры в событии ввода жеста
Ввод на основе жестов (например, прокрутка или перелистывание) можно совмещать с виртуальными тактильными текстурами при перемещении пальца по экрану, а также с визуальными пользовательскими интерфейсами, например, создавая повторяющуюся тактильную обратную связь при перемещении пальца по пользовательскому интерфейсу часов с элементами пользовательского интерфейса в виде виртуальных делений.
Эффекты для виртуальных тактильных текстур должны повторяться. Это часто делает воспринимаемую энергию выше амплитуды (когда эффект вызывается без повторения или только один раз ). Из-за этого тактильные константы, разработанные для виртуальных тактильных текстур (например, CLOCK_TICK
или TEXT_HANDLE_MOVE
), должны быть тонкими , чтобы обеспечить ощущение движения через повторяющиеся сигналы.
Рисунок 5. Тактильные эффекты для имитации виртуальной текстуры
Включить настроения
Чтобы включить позитивные или негативные эмоции в тактильные эффекты, примените более сильные ощущения к негативным эмоциям, чтобы привлечь внимание пользователя.
Рисунок 6. Тактильные эффекты с настроением
Избегайте слышимого шума от длительной вибрации
Чтобы избежать слышимого шума от длительной вибрации для тактильных ощущений внимания, плавно ускоряйте шаблон, чтобы создать эффект нарастания. Сделайте это с помощью createWaveform(long[] timings, int[] amplitudes, int repeat)
.
Рисунок 7. Эффект длительного нарастания вибрации