在移动设备上,触感反馈应尽量简洁。由于用户通常会将设备握在手中并全神贯注地使用,因此振动过于强烈可能会令人烦恼,甚至会使手麻木。这可能会干扰用户执行预期任务,进而导致用户快速关闭所有触感反馈。不过,精心设计的触感反馈可提供有价值的感官反馈,让用户与设备的互动更加丰富。
本页介绍了使用触感反馈的用例,介绍了触感反馈的分类,还介绍了应用的基本准则。
向应用添加触感反馈的用例
以下是将触感反馈集成到应用的一些原因。
通知用户需要注意的事件。例如,来电或短信,或者日历中的即将举行的会议。
确认用户执行操作后设备的状态变化。 例如,按下按钮的点击反馈、解锁手机、接受或拒绝指纹、激活相机等。
通过效果让用户满意。此类效果可以增强正在进行的用户操作或模拟实际互动。例如滚动反馈、滑块卡入到位,或与动画、声音、视频和游戏同步的触感反馈。
触感反馈分类
此处介绍的触感反馈原则以清晰触感反馈、丰富触感反馈和蜂鸣触感反馈为设计依据。
清晰触感反馈
清晰触感反馈是指与离散事件(例如按钮按下)相关的清晰、干净的感觉。这些效果通常旨在模仿相应的真实机械操作,例如按下实体按钮时所感受到的操作。
Android 在 VibrationEffect
中预定义了清晰的触感反馈效果。不过,一般来说,应用应使用 HapticFeedbackConstants
中的以操作为导向的常量,以确保在设备上效果和操作保持一致。
以操作为导向的常量的另一个优势是,如果用户的设备不支持更复杂的效果,平台可以提供回退行为。
随着触感反馈用例的扩展,现有的清晰触感反馈有时会让人感觉平淡单调。在这种情况下,应力求提供更富有表现力的丰富触感反馈。
丰富触感反馈
丰富的触感反馈通常需要频率带宽更宽的触感反馈致动器,以实现更丰富的表现力和更大的范围。您还可以通过以不同的振幅和间隔排序清晰的触感基元来生成丰富的触感反馈。
丰富的触感反馈效果示例包括:
- 有一种“轻微颤动”的感觉,类似于蝴蝶在您的指尖上拍打翅膀
- 手指在表面上拖动或滑动时感受到的表面纹理
- 摇晃和不稳定的感觉,或沉重和回响的感觉
蜂鸣触感反馈
嗡嗡声触感反馈的特点是噪杂、尖锐且穿透性强的振动,即使振动结束后,也会留下余震,例如刺痛感。在振动完全停止之前,它还会产生一种类似于回响的响铃效果。
振动触感反馈的示例包括:
- 操作电动锤
- 骑摩托车
- 在移动设备上,按键按下后振动时间过长
早在寻呼机和非智能手机时代,配备低性能触感致动器或驱动器的低端手机往往会发出长时间的嗡嗡振动来发送通知。
触感反馈设计准则
概括来讲,设计准则可以总结为:
- 应优先使用丰富而清晰的触感反馈,而不是使用嗡嗡作响的触感反馈。
- 与系统和应用设计保持一致。
- 注意使用频率和重要性。
优先使用预定义的触感反馈常量和效果
如果您的操作由 HapticFeedbackConstants
中的预定义操作涵盖,请使用该常量。这有助于确保一致的用户互动体验,这对于考虑无障碍功能而言尤为重要。
如果您要创建自己的特效,请考虑使用 VibrationEffect
预定义特效和 VibrationEffect.Composition
基元。它们更有可能在支持它们的设备上提供一致的质量体验。
将事件重要性和频次与强度相关联
触感反馈不应让用户感到不适或多余。
应用于非常频繁的事件(例如滚动或移动文本手柄)的触感反馈效果应非常细微,以提供愉悦的整体体验。
例如,刷新页面或提交表单等更重要的事件应比更改切换开关或滚动列表等事件的权重更高。
将这两种概念结合使用,可创建随着互动达到目标而逐渐增强的效果,例如,通过拖动、放下或贴靠操作逐渐增加一系列刻度的振幅。
保持稳定
在应用中使用触感反馈时,请保持一致。如果某项特定互动(例如表单提交或应用内导航)具有触感反馈,请确保对所有类似互动应用相同的效果。这有助于用户将特定的触感反馈与含义相关联。
此外,对于定义明确的互动(例如时间选择器或虚拟键盘),请使用相同的 HapticFeedbackConstants
,以便与 Android 系统保持一致。
设计视觉和音频体验以及触感反馈
将触感反馈视为整体用户体验的一部分。
我们强烈建议您共同设计视觉、音频和触感效果。使其与视觉动画和声音模式协调一致。视觉和听觉输入可以增强感知到的触感,而设计良好的触感反馈可以为视觉和音频效果提供真实感。
相反,如果触感反馈播放不同步或与视觉和音频效果不一致,可能会让用户感到不安。在某些情况下,用户可能会认为触感致动器已损坏。
避免使用旧版单次振动来提供触感反馈
避免使用旧版单次振动,例如由 VibrationEffect.createOneShot
定义或使用 API Vibrator.vibrate(long)
和 Vibrator.vibrate(long[], int)
执行的振动。
如果这些振动在输入波形结束后持续很长时间,可能会感觉像是振动,尤其是在性能较低的触感致动器或驱动程序的设备上。
良好的按键点击触感反馈信号应持续 10 到 20 毫秒。不过,在向执行器输入 20 毫秒后,执行器可能还会继续响铃 20 到 50 毫秒。因此,最好避免针对此类反馈使用单次振动。