触觉检查表第 2 步中引入的 HAL-API 常量映射由强烈推荐的 UX 设计原则驱动。用户体验设计原则定义了使用 Android 触觉 API 时如何、何时以及使用什么的基础。请参阅高级触觉:新触觉 API 的时机、内容和方式,了解有关这些基本原则的更多信息。
图 1. HAL-API 常量映射:离散模型
选择触觉效果
通过触觉强度( VibrationEffect
)
在确定您的首选触觉强度 ( VibrationEffect
) 时, EFFECT_CLICK
是最佳起点:它是EFFECT_TICK
的“轻”触觉和EFFECT_HEAVY_CLICK
的“重”触觉之间的中值。从EFFECT_CLICK
开始,您可以通过使用EFFECT_HEAVY_CLICK
增加强度或使用EFFECT_TICK
降低强度来增加或减少概念能量。请记住, EFFECT_DOUBLE_CLICK
提供了最高的概念能量,因为它是重复的。
图 2.触觉强度设置
通过输入事件和 UI 元素 ( HapticFeedbackConstants
)
如果您的目标与特定输入事件(如长按或滑动)或 UI 元素(如键盘)相关,请在HapticFeedbackConstants
中查找预定义的触觉常量。每个常量的名称指的是特定的用例,例如KEYBOARD_PRESS
或LONG_PRESS
。
模拟现实世界的按钮按下事件
输入事件(虚拟软按钮)的触摸触觉反馈可以使用物理实体(例如机械硬按钮)模拟按钮按下。
输入事件:成对交互流
单击事件旨在模拟机械按钮的行为,即按下然后释放。按下按钮时感受到的机械脉冲能量高于释放按钮时感受到的机械脉冲能量。因此,按下按钮的触觉反馈比释放按钮的触觉反馈更强。
图 3.二进制输入事件的触觉效果
触觉强度:按下按钮的可供性
参与度较短且较轻的输入事件与较轻的触觉相关。参与时间更长、更深的输入事件与更强的触觉相关。
图 4.可供性的触觉效果
模拟手势输入事件中的虚拟纹理
当手指在屏幕上与视觉 UI 一起移动时,基于手势的输入(例如滑动或滚动)可以与虚拟触觉纹理对齐,例如,当手指在带有虚拟刻度线的时钟 UI 上移动时生成重复的触觉反馈用户界面元素。
虚拟触觉纹理的效果是要重复的。这通常会使感知的能量高于幅度(当不重复调用效果或仅调用一次效果时)。因此,为虚拟触觉纹理设计的触觉常量(如CLOCK_TICK
或TEXT_HANDLE_MOVE
)必须很微妙,才能通过重复提示提供运动的感觉。
图 5.模拟虚拟纹理的触觉效果
包括情绪
要在触觉效果中包含积极或消极情绪,请将更强的感觉应用于消极情绪以引起用户的注意。
图 6.带有情绪的触觉效果
避免长时间振动产生的噪音
为了避免注意力触觉的长时间振动产生可闻噪音,请平滑地加速模式以产生斜坡上升效果。通过使用createWaveform(long[] timings, int[] amplitudes, int repeat)
来完成此操作。
图 7.长振动斜坡上升效应