Сопоставление констант 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. Тактильные эффекты в зависимости от события двоичного ввода
Тактильная сила: возможность нажатия кнопки
События ввода с более коротким и легким взаимодействием связаны с более легкими тактильными ощущениями. События ввода с более длительным и глубоким взаимодействием связаны с более сильными тактильными ощущениями.
Рисунок 4. Тактильные эффекты по доступности
Имитировать виртуальную текстуру в событии ввода жестом
Ввод на основе жестов (например, прокрутка или прокрутка) может быть согласован с виртуальными тактильными текстурами при движении пальца по экрану вместе с визуальными пользовательскими интерфейсами, например, создавая повторяющуюся тактильную обратную связь, пока палец движется вокруг часов. Пользовательский интерфейс с виртуальной галочкой Элементы пользовательского интерфейса.
Эффекты виртуальных тактильных текстур предназначены для повторения. Из-за этого воспринимаемая энергия часто становится выше амплитуды (когда эффект вызывается без повторения или только один раз ). По этой причине тактильные константы, разработанные для виртуальных тактильных текстур (например, CLOCK_TICK
или TEXT_HANDLE_MOVE
), должны быть тонкими , чтобы обеспечить ощущение движения посредством повторяющихся сигналов.
Рисунок 5. Тактильные эффекты для имитации виртуальной текстуры.
Включить настроения
Чтобы включить позитивные или негативные настроения в тактильные эффекты, примените более сильные ощущения к негативным настроениям, чтобы привлечь внимание пользователя.
Рисунок 6. Тактильные эффекты с настроением
Избегайте слышимого шума от длительной вибрации.
Чтобы избежать слышимого шума от длительной вибрации для тактильных ощущений внимания, плавно ускоряйте рисунок, чтобы создать эффект нарастания. Сделайте это с помощью createWaveform(long[] timings, int[] amplitudes, int repeat)
.
Рисунок 7. Эффект нарастания длительной вибрации