C1.22.5Directional gesture threshold设计研究
方向性阈值可以在开始阶段区分横向拖动与纵向滚动意图
别名: 方向阈值 · 横向拖动 · 纵向滚动
概念解释
方向性阈值在手势开始时比较横向与纵向位移,决定把后续动作解释为横向拖动还是纵向滚动。它常用于可横滑的卡片嵌在可纵滚页面的情境,以免一个斜向的初始移动同时触发对象位移和页面滚动。
机制
系统累计初始位移,等待总距离足够后比较两轴分量或与方向扇区的夹角;占优轴取得手势所有权,另一行为被抑制或延后。它用早期轨迹作为意图证据,但接近对角线时证据天然模糊,锁定过早会产生错误归属。轴的归属一旦判定,通常还需要一段滞后容忍才能反悔:如果没有这段滞后,手指路径稍微在两个方向间摆动,就会导致归属在横向和纵向之间来回切换,用户会感觉到滚动一顿一顿地被打断,这比单纯判定错一次方向还要影响体验——错一次是单次误判,反复切换则是持续的手感断裂。
怎么研究
在不同角度、速度、内容密度和手势起点下测试,记录滚动被拦截、横拖失败、切换次数和完成时间。专门分析接近 45 度的试次,比较固定比率、动态容忍区与允许早期重新判别的策略。滞后容忍本身也需要单独测量:让被试沿着刻意贴近对角线的路径反复移动,统计轴归属实际切换的次数,判断当前的滞后余量是否足够抑制这种来回跳变。
边界
方向锁不适用于真正需要二维自由绘制或地图平移的操作。过强锁定会让自然斜拖显得卡顿,过弱又会恢复竞争手势。明确的拖动把手、模式或多指手势有时比猜测方向更可靠。触屏系统往往还在边缘保留了自己的手势区域用于系统级导航,应用层的方向判定不能覆盖到这个区域,否则会和系统手势产生更高优先级的冲突,这不是方向锁算法能自行解决的问题,而是需要在设计阶段就把可交互区域整体让出这一圈边缘。
怎么落地
- 在开始阶段保留短暂未决区,收集足够位移后再锁定方向,并在锁定后加入适度的滞后容忍,避免轴归属在摆动路径上反复切换。
- 依据内容结构设定倾向:纵向阅读页优先滚动,明确卡片把手优先横拖。
- 验证办法:记录真实使用中轴锁定发生时的角度分布,单独统计落在接近对角线区间(例如与两轴各成约 35 到 55 度)的样本,看这部分样本的误判率是否显著高于其余样本。