C3.08.3Scale-limit rubber-band on pinch设计研究
缩放上下限需在触边时以回弹提示
别名: 最小缩放 · pinch clamp · 缩放到头
概念解释
倍数有最小和最大。捏合把画面推向最小时,若倍数干脆钳死,指距还在缩小,人会以为手势失灵。触边回弹让倍数暂时越过极限一点点,松手再弹回合法范围,用空间告诉人“已经到头”,而不是用死锁。捏合缩小首先碰到的是下限:整张图已经能进视口,再捏没有更多上下文。
机制
合法区间内倍数跟指距走;越出区间后把超额 span 压成弹性余量,画面略小于(或略大于)极限,但增益迅速变小。抬起用弹簧收回余量。硬钳制会造成指距与画面脱钩——手指还在动,像素不动——这与触摸延迟很难区分。回弹方向要跟越界方向一致:捏过头出现“整图偏小还带一圈空白”,张开过头出现“像素被拉得发虚再收回”。空白和发虚是两种极限的不同表情,不要都做成同一个半透明遮罩。
怎么研究
把下限设在“整图刚好满宽”,请人继续用力捏,比较硬钳、回弹、无限制。因变量包括“还能不能再小”的判断、越界后额外的无用捏合次数、松手后是否回到下限。记录越界期间 span 与显示倍数的增益。无限制条件会把图缩成无法瞄准的点,用来证明上限/下限不是随意的。
边界
瓦片地图在低缩放有数据层级,下限可能是服务器能给的最粗层,回弹之外还要避免请求不存在的层级。文档阅读器的“整页宽度”有时是舒适下限而不是物理下限,回弹应弹到舒适档而不是再缩到看不清的字。系统辅助放大镜开着时,应用内下限和系统放大叠乘,触边信号会指错对象。
怎么落地
- 到达最小或最大倍数后改为弹性余量,松手弹回;不要让指距继续走而画面完全冻结。
- 下限和上限用不同的视觉:缩到头露出周围空白,放到头出现短暂的像素拉伸或轻微抖动。
- 请人把图捏到不能再小,再加一把劲。应看到空白回弹而不是卡死。若他们反复猛捏并问“是不是坏了”,钳制过硬。