触感反馈设计原则

在移动设备上,触觉反馈宜少不宜多。过多的振动可能会令人烦恼,甚至使手部感到麻木,因为设备通常握在手中且用户注意力集中。这还可能会分散用户对预期任务的注意力,导致用户迅速关闭所有触感反馈。然而,精心设计的触感反馈提供了宝贵的感官反馈,使用户能够更丰富地与设备互动。

本页面介绍了使用触感反馈的用例,提供了触感效果的分类,并涵盖了应用的基本准则

在应用中添加触感反馈的用例

以下是在应用中加入触感反馈的一些原因。

  • 向用户通知需要其注意的事件。示例包括来电或短信,或者日历上的即将到来的会议。

  • 确认设备在用户操作后状态发生变化。示例包括按钮按下的点击反馈、解锁手机、指纹接受或拒绝,或激活相机。

  • 通过效果让用户感到愉悦。此类效果可以增强正在进行的用户操作或模拟物理交互。示例包括滚动反馈、滑块到位时的触感,或与动画、声音、视频和游戏同步的触感效果。

触感反馈分类

此处介绍的触感反馈原则围绕着清晰触感丰富触感嘈杂触感设计。

清晰触感

清晰触感是指与离散事件(如按钮按下)相关的清脆干净的感觉。这些效果通常旨在模仿相应的现实世界机械动作,例如按下物理按钮时的感觉。

Android 在 VibrationEffect 中预定义了清晰触感效果。然而,通常情况下,应用应使用 HapticFeedbackConstants 中的面向操作的常量,以确保设备上效果和操作的一致性。

面向操作的常量的另一个优点是,如果用户的设备不支持更复杂的效果,平台可以提供回退行为。

随着触觉反馈用例的扩展,现有的清晰触感有时可能会显得平淡单调。在这种情况下,可以寻求更具表现力的丰富触感。

丰富触感

丰富触感通常需要具有更宽频率带宽的触感执行器,从而实现更强的表现力和范围。丰富触感也可以通过以不同的振幅和间隔对清晰触感基元进行排序来产生。

丰富触感效果的示例包括:

  • 类似蝴蝶翅膀轻拍指尖的“扑腾”感觉
  • 手指拖动或滑动表面时感受到的纹理
  • 晃动和不稳,或沉重和余震的感觉

嘈杂触感

嘈杂触感具有噪声大、尖锐且穿透力强的特点,即使振动停止后,仍会留下余味,如麻木感。在振动完全停止之前,它往往会产生一种类似回响的嗡嗡声。

嘈杂触感感觉的示例包括:

  • 操作手提式凿岩机
  • 骑摩托车
  • 在移动设备中,按下按键后冗长而持续的振动

早在寻呼机和功能机时代,配备低性能触感执行器或驱动程序的低端手机倾向于为通知目的产生嘈杂的长振动。

触感反馈设计准则

从高层次来看,设计准则可概括为:

  • 优先选择丰富和清晰触感,而非嘈杂触感。
  • 与系统和应用设计保持一致。
  • 注意使用频率和重要性。

优先使用预定义的触感常量和效果

如果您的操作属于 HapticFeedbackConstants 中预定义的动作,请使用该常量。这确保了用户交互体验的一致性,这对于无障碍功能来说尤为重要。

如果您要创建自己的效果,请考虑使用 VibrationEffect 预定义的效果和 VibrationEffect.Composition 基元。它们更有可能在支持它们的设备上提供一致的高质量体验。

根据事件的重要性和频率关联强度

触感效果不应让用户感到不堪重负或觉得多余。

  • 应用于非常频繁的事件(如滚动或移动文本手柄)的触感效果应该非常微妙,以提供愉快的整体体验。

  • 更重要的事件(例如刷新页面或提交表单)应该比更改开关或滚动列表等事件更强。

  • 将这两个概念结合起来,创建随交互达到目标而增强的效果,例如在拖动、放置或吸附操作时,逐渐增加一系列滴答声的振幅。

保持一致

在应用内部保持触感反馈应用的一致性。如果某个特定的交互(例如表单提交或应用内导航)具有触觉反馈,请确保将相同的效果应用于所有类似的交互。这有助于用户将特定触觉反馈与某种意义关联起来。

此外,对于明确定义的交互(例如时间选择器或虚拟键盘),请使用相同的 HapticFeedbackConstants,与 Android 系统保持一致。

将视觉和音频体验与触感反馈一起设计

将触感反馈视为整体用户体验的一部分。

我们强烈建议共同设计视觉、音频和触感效果。使其与视觉动画和声音模式和谐一致。视觉和听觉输入可以增强感知到的触感,而精心设计的触感效果可以为视觉和音频效果提供一种物理感

相反,与视觉和音频效果不同步或感觉不一致的触觉反馈可能会让用户感到不安。在某些情况下,用户可能会认为触感执行器已损坏。

避免将旧的单次振动用于触觉反馈

避免使用旧的单次振动,例如由 VibrationEffect.createOneShot 定义或使用 API Vibrator.vibrate(long)Vibrator.vibrate(long[], int) 执行的振动。

这些振动在输入波形结束后持续很长时间,可能会感觉嘈杂,尤其是在配备低性能触感执行器或驱动程序的设备上。

一个好的按键点击触觉反馈信号应持续 10 到 20 毫秒。然而,在向执行器输入 20 毫秒信号结束后,执行器可能会继续嗡嗡作响 20 到 50 毫秒。因此,最好避免将单次振动用于此类反馈。