如何为点击操作搭配清晰的视觉或触觉反馈
对于移动端应用的按钮,点击时应立即给予可见响应,并在操作完成时显示结果。仅在能够强化该事件且符合操作重要程度时,才添加短暂的触觉反馈。这种顺序有助于人们区分“应用已记录我的点击”与“任务已成功完成”,在响应需要一定时间的情况下尤为如此。以下步骤适用于单个按钮或控件;不同平台的细节有所差异,因此在有条件时,请使用操作系统的标准交互模式。
首先确定反馈需要传达的信息
一次点击可能会引发多种不同的事件:控件被按下、设置发生更改、请求已启动,或请求成功/失败。在选择动画或振动之前,请先确定每个提示所代表的事件。按压提示用于确认输入;文本标签或选中状态的更改用于确认本地状态变化;进度指示器用于传达工作正在进行中;成功消息用于确认完成。
请保持这些含义的区分。如果按钮在轻触时短暂变暗,这并不能证明网络请求已完成。如果提交可能需要一些时间,请保持明确的进度状态,直到应用得知结果。Apple 建议在操作无法立即完成时在按钮内显示活动指示器,并建议更改文本标签以明确当前正在发生的情况。Apple 按钮设计指南
构建简单的状态序列
将反馈视为与控件实际状态绑定的序列,而不是只要按钮收到点击就播放的单一效果。一个实用的基准是:
- 就绪(Ready): 显示带有文本标签或熟悉符号的操作,使其用途一目了然。
- 按下(Pressed): 提供即时的视觉按压状态,例如微妙的填充、缩放或高亮变化。
- 处理中(Working): 如果完成有所延迟,请显示进度;在适合该操作的情况下,防止意外的重复提交。
- 完成或失败(Complete or failed): 使用实际结果更新界面。对于开关控件,显示其新的选中状态;对于提交操作,提供简洁的成功或错误状态。
Apple 指出,自定义按钮应始终具有按压状态,因为缺乏按压状态会让按钮感觉反应迟钝。其更广泛的反馈指南建议将呈现方式与信息的重要性相匹配,并在所描述的项目附近显示状态。Apple 按钮设计指南 与 反馈设计指南
选择易于理解的视觉提示
确保在手指停留在控件上时,按压状态清晰可见。微弱的颜色或不透明度变化、短暂的缩放或高亮都可以奏效,前提是控件仍可识别且其文本标签保持清晰易读。不要将颜色作为传达结果的唯一途径:应将其与状态变化、文本、图标或其他能解释所发生情况的可见区分方式结合使用。
对于开关,选中状态在点击后应持续存在;单纯的暂时性水波纹效果无法传达设置是否已开启。对于“保存”等一次性操作,按钮可以先显示其按压状态,随后应用再显示已保存状态或进度状态。如果任务失败,请在相关控件附近说明失败原因,并明确下一步可执行的操作。具体呈现方式取决于应用和平台,但提示应反映应用能够验证的状态。
评估触觉反馈是否能提供有用信息
触觉反馈可以强化诸如按钮按下或已确认的状态变化等离散事件。触觉反馈是可选的:在设备处于静音模式、触觉反馈被禁用或用户未感受到该效果时,视觉响应仍然必须清晰明了。Android 指南建议谨慎使用触觉反馈,在相似的交互中保持一致,并使其与视觉或听觉体验相匹配。它还建议,与其使用发嗡嗡声的粗糙触控效果,不如不使用任何触觉反馈。Android 触觉反馈设计原则
一种实用的选择是:当平台提供合适的标准效果时,将轻微、短暂的提示用于有意义的确认。避免对每次低价值的点击、重复滚动或没有相应可见变化的事件都进行振动。如果事件十分重要,请确保由视觉状态承担核心含义;不要依赖振动来区分成功与失败。
让提示与它所代表的时刻相契合
按压响应属于触碰发生的时刻;成功响应则属于明确得知成功之后的时刻。对于即时完成的操作,这两个时刻可能非常接近。对于远程保存或提交,它们之间可能会有显而易见的等待时间。如果在触碰按下的瞬间就显示成功触觉反馈,等于在应用尚未确认之前就宣称已完成。
在 Android 上,推荐的 View.performHapticFeedback 方法采用面向操作的常量,遵循系统触控反馈设置,并且不需要 VIBRATE 权限。平台在需要时会为这些常量提供回退行为。更高度定制的振动效果在支持和设置方面有不同的考量,因此对于常规控件,优先使用标准的面向操作的方法。Android 触觉反馈实现指南
兼顾平台行为与触发频率
在内置控件已能提供预期反馈的情况下,直接使用内置控件。Apple 指出,在受支持的 iPhone 机型上,开关、滑块和选择器等标准控件可以直接播放系统触觉反馈。在此之上再叠加一层自定义效果可能会导致信号重复,因此在叠加另一层提示之前,请先检查控件的原生行为。Apple 触觉反馈播放指南
频率同样至关重要。对于偶尔提交表单显得很清晰的反馈模式,如果附加到频繁使用的按钮上,可能会变得令人分心。在同等操作之间保持相同的含义一致性,并将更强烈或更引人注目的提示保留给值得更多关注的事件。Android 特别建议将触觉反馈的强度与事件的重要程度以及发生频率相关联。Android 触觉反馈设计原则
发布前检查交互表现
在应用所支持的设备和操作系统上测试完整的序列。点击一次,确认按压状态立即出现;然后验证在延迟期间进度保持可见,且仅在得知结果后才显示成功或失败。尝试快速点击第二次,确认界面不会产生令人困惑的重复反馈或非预期的重复操作。
在关闭系统触控反馈,以及设备触觉反馈功能不可用或不支持的情况下重复检查。视觉状态仍应能传达操作及其结果。将高频操作与低频操作进行对比,移除感觉杂乱、不同步或与可见变化脱节的效果。对于 Android 的标准视图反馈,系统默认会遵循系统设置;自定义方式可能需要额外的支持和回退检查。Android 触觉反馈指南
清晰的搭配遵循一个简单的逻辑:表明点击已被记录,传达所有等待过程,并在结果真实发生时确认该结果。在合适的时候通过触觉反馈强化这一信号,同时确保视觉界面本身保持完整自洽。
