Сопоставление констант HAL-API, представленное на шаге 2 контрольного списка тактильных ощущений, основано на рекомендуемых принципах дизайна UX. Принципы дизайна UX определяют основу того, как, когда и что использовать при использовании тактильных API Android. См. Advanced Haptics: The When, What и 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. Длительный эффект нарастания вибрации