单手手势

智能手表非常适合在旅途中使用,但当用户双手忙碌时,操作起来会很困难。为了解决这个问题,Wear OS 7 为 OEM 引入了新的单手势框架,并为在 Wear OS 上使用 Jetpack Compose 的开发者引入了手势 API。虽然此框架仅由 Pixel Watch 设备(Pixel Watch 3 及更新型号)采用,但可供所有制造商使用。通过支持此 API,随着其他 OEM 选择加入,您应用的手势支持可以自动在整个生态系统中扩展。

如需打造顺畅的免触控体验,请遵循以下准则,确定单手势是否适合您的应用体验。

支持的手势和操作

Wear OS 手势框架支持两种手势类型:主要操作关闭操作。在 Pixel Watch 上,主要操作映射到双指捏合手势,而关闭操作映射到转动手腕手势。

双指张合:触发主要操作。
转动手腕:触发关闭操作。

主要操作

主要操作应对应于用户可以在屏幕或页面上完成的主要任务,例如接听电话或在媒体控件中切换播放/暂停状态。如果页面可滚动,您的应用一次只能将一个界面元素映射到主要操作。

接听电话。
在媒体控件中切换播放或暂停状态。

延后正在响铃的闹钟。
滚动可滚动内容。

当用户可以使用手势、语音或在界面元素自动打开时(例如通知或媒体控件),双指捏合操作最为有用。如果只能通过触摸或按钮导航到界面元素,则该操作不适合作为主要操作手势的用例。

关闭操作

默认情况下,关闭操作会映射到系统返回,并返回到上一个界面。您的应用可以针对特定使用情形替换手腕转动操作,但这些例外情况仍应符合“关闭”“静音”或“最小化”的概念。例如,覆盖操作包括使来电静音(而不是拒接),以及关闭通知(而不是忽略或删除)。无论多么诱人,此操作都绝不应映射到应用中的任意操作,因为这会破坏用户模型,导致用户无法将关闭操作作为返回或关闭命令的一致指示器。

如果因意外触发而存在风险,也可以针对某个屏幕停用关闭操作,例如在锻炼期间或紧急呼叫期间。如需针对特定屏幕停用手腕转动,请订阅关闭操作,但不对分派的手势事件执行任何操作;也就是说,提供一个空订阅。

快速手势操作指南

Wear OS 手势框架旨在处理中断和控制。它并非旨在实现完整的手表导航。请遵循以下准则,在应用中采用单手势:

  1. 尽量减少导航:使用手势进行一次性互动,例如关闭通知或暂停和恢复媒体。
  2. 谨慎使用滚动:主要手势(双指张合)可用于滚动,但对于所有可滚动的内容,这不应是默认体验。仅当满足以下条件时,才启用手势滚动:
    • 用户能够单手或以免手动方式进入滚动视图,例如使用手势、语音指令,或在自动启动的屏幕上(如媒体控制和地图导航)进入滚动视图。
    • 内容可提供一目了然的价值(例如锻炼总结),并且不需要进一步互动,只需一个可选的按钮,该按钮在滚动到视图中后还可以执行主要手势操作(例如完成边缘按钮)。
  3. 避免出现死胡同:确保手势操作不会导致死胡同,即用户无法在不使用触摸屏或实体按钮的情况下继续完成其历程。
  4. 避免隐藏操作:切勿隐藏仅通过手势触发的操作。如果用户可以通过双指捏合手势执行某项操作,则必须提供一个可见的可点按按钮来执行相同的任务。不过,对于用户意图难以预测的通用操作(例如转动手腕以返回),此规则不适用。

手势互动流程和反馈

当手势可用且用户执行手势时,会按顺序发生以下事件:

  1. 手势提示:当有主要操作手势可用时,屏幕上会显示一个执行该手势的动画插图,告知用户哪些手势可用以及该手势将作用于哪个界面元素。 通常,除非关闭操作映射到屏幕上的界面元素,否则不会显示提示。
  2. 触感反馈:成功处理手势操作时,系统会播放短促的触感反馈。
  3. 声音和视觉反馈:与触摸互动同时发生的任何与界面元素相关联的声音或视觉反馈也应通过手势操作触发。您必须将应用的现有触控音频和视觉回调挂接到手势事件中,以提供一致的体验。

    示例:相机具有相关联的快门声音和按钮互动,必须通过手势触发。

手势提示、教育和设置

为了让用户能够发现手势操作,Pixel Watch 在手势 API 中提供了手表上的互动式教程和提示框架。系统设置中也提供了手势设置,在 Pixel Watch 上,这些设置位于设置 > 手势 > 手势中。

教程新手入门

在 Pixel Watch 上,用户可以通过互动式教程和 Pixel 提示了解手势操作。您无需在应用内创建独特的手势教程。相反,您可以利用 Jetpack Compose on Wear OS 提供的上下文提示,告知用户应用内哪些位置可以使用手势。

双指捏合新手入门教程界面。
手腕转动新手入门教程界面。

上下文提示

为了帮助用户发现应用中的手势,请提供将手势操作与实体功能相关联的提示。细微提示更清晰、更易读,对其他界面元素的阻碍也更小。

上下文提示类型包括

  • 按钮提示
    • 以动画图标的形式显示在界面元素(例如按钮)中,暂时隐藏该元素中的典型内容,例如按钮标签或图标。
  • 浮动提示
    • 包含在指向手势所影响的界面元素的小气泡叠加层中的动画图标。当所指向的界面元素太小而无法包含提示时,通常会使用浮动提示。主要示例是滚动,其中提示气泡指向滚动条,以指示主要手势将滚动。
    • 提示可以指向任何基本方向(上、下、左、右)。

按钮提示

按钮提示示例

与现有图标或文本短暂交换。

浮动提示

浮动提示示例

指向屏幕上过小而无法显示按钮提示的元素。

颜色指导

  • 按钮提示
    • 默认情况下,动画矢量可绘制对象 (AVD) 的颜色会着色为与按钮图标或文字颜色 (LocalContentColor) 一致。
    • 如有必要,可将 AVD 染色为自定义颜色。不过,一般来说,颜色应与临时替换的内容相同,以提供适当的对比度。
  • 浮动提示
    • Tertiary 颜色应用于提示容器。
    • AVD 颜色已着色为 onTertiary
    • 您可以自定义提示颜色和背景形状颜色。

按钮提示颜色指南

按钮提示颜色指南示例

AVD 颜色与按钮图标或文字颜色一致。

浮动提示颜色指南

浮动提示颜色指南示例

提示容器使用 Tertiary,AVD 使用 onTertiary

提示显示频次规则

为了帮助用户发现手势,平台提供了一个可配置的频率,用于指定在某种体验下应显示提示的频率。提示节奏逻辑是全局性的,而不是针对每个体验。Wear OS 手势框架控制着节奏,并提供一项设置(在 Pixel Watch 上,依次选择手势 > 手势 > 手势提示),供用户调整节奏。

  • 按钮提示
    • 当首次启动具有手势操作的应用时,或者当更新应用以引入手势操作时,系统最初会显示至少一次有关该操作的提示。系统会根据用户定义的显示频率(例如始终每天每月)再次显示提示。 提示默认设置为始终
  • 浮动提示
    • 由于浮动提示会遮盖相邻内容,因此在每次体验中,浮动提示最多每天显示一次。如果全局提示频次设置为低于每天一次(每天)的值,则系统会使用该较低的频次。
Pixel Watch 上的手势提示设置界面
Pixel Watch 上的手势提示设置界面

其他资源

如需有关如何在应用中实现单手势操作的开发者指南,请参阅借助 Wear OS 开发适用于手表的应用