移动端相较于PC端的交互动作,即手势操作相较于鼠标键盘输入设备操作,是存在相当大的不同的。在iOS系统出现之前的时代,是单点触控的电容屏和触控笔和手机端物理键盘对PC端的粗暴移植和复刻,有的移动端设备甚至复制了PC端笨重的QWERTY键盘,那时移动端的输入设备基本和PC端是可以一一对应的。
但在乔布斯主导的iOS系统和手势操作系统出现后,我们已经无法简单把移动端的手势操作与PC端输入设备简单对应了。移动端设备的交互方式也从此开始与PC端的交互方式分道扬镳,渐行渐远。
我们先来回顾一下PC端鼠标针对UI控件的几个主要交互动作:
Hover:
有时候也被称为“MouseOver+MouseOut”,PC端用户可以用鼠标指针移过UI控件时UI控件的交互反馈来推测UI控件的操作方式。某些位于某种UI控件之上的Hover动作可能会让鼠标指针产生不同形态的变化,如链接会变为手型,载入新内容会变为沙漏,可操作文字内容变为工字梁,Q&A变为问号等等,鼠标指针形态的改变是对当前悬停位置内容的一种指示。
有些UI控件本身会对鼠标的Hover行为产生反馈,此时不光鼠标指针会发生相应的形态变化,UI控件本身也会根据预先定义产生不同形态的变化。熟悉CSS的朋友可能记得文字链接的几种定义::link; :visited; :hover; active; 其中的hover就是针对鼠标悬停于自身时自己的样式呈现。
Hover交互的用户端触发条件:移动鼠标指针。
Click:
有时候也被称为“Active”、“Action”、“MouseDown+MouseUp”,是鼠标点击UI控件后释放点击的一套交互行为,这个过程中用户点击和释放的坐标点是一致的,没有移动行为。系统在判定用户的交互动作是“Click”动作后,提供用户点击的UI控件本身应该提供的交互反馈或系统层级反馈。
Click交互一定是发生在Hover交互之后的,Hover是Click的前置动作,因为不把鼠标指针悬浮到UI控件之上,是无法完成对目标UI控件的点击行为的。
Click交互的用户端触发条件:移动鼠标指针Hover目标UI控件,然后按压物理按键。
Right Click:
PC端虽然判断鼠标点击的事件监听机制是同样的,但无论是苹果的OSX系统还是微软的Windows系统,都默认把鼠标右键点击交互反馈留给了ContextMenu,即系统菜单,此时系统或应用收回了对右键反馈的控制权,鼠标右键点击激活的是系统菜单,用户需要再次点击菜单选项来对当前UI控件进行更多操作。
Right Click交互的用户端触发条件:移动鼠标指针Hover目标UI控件,然后按压物理按键右键。
Tap:
Tap交互也叫Soft-touch,中文一般称为“轻敲”,是鼠标指针Hover于某UI界面元素后,在鼠标操作区(或触控板外设)上快速轻敲以实现与界面元素间的互动,普通的windows系统鼠标可能不支持此操作。
Tap交互针对的UI界面元素一般是界面级控件,如操作区放大缩小、进入程序选择界面等。
Tap触发条件:Hover于界面元素,轻敲鼠标操作区,没有物理按压行为。
Drag:
Drag交互中文一般称之为“拖拽”,是鼠标指针Hover于某UI控件后,用鼠标按键或其他方式触发UI控件进入拖拽状态后,通过移动鼠标指针的位置来将UI控件拖移至指定位置,然后通过松开按键或其他方式解除控件拖拽状态。
拖拽状态需要UI控件本身支持拖拽功能才能激活。所以有时候通过鼠标指针的变化来指示指定UI控件是可拖拽的。
拖拽状态触发条件:Hover于界面元素,按住鼠标按键或快捷键激活拖拽状态,拖拽完成后解除拖拽状态。
Scroll:
Scroll交互是指鼠标指针Hover于指定界面后,用鼠标滚轮或轻划动作来实现界面内容滚动显示。
Scroll状态触发条件:Hover于界面元素,滚动鼠标滚轮或上下轻划鼠标操作区。
Pan:
这个动作中文一般称为“平移”,是指鼠标指针悬停在某个UI控件上方时,可以通过在鼠标二维平面和屏幕之间建立一种映射关系,来实现在UI空间内的卷屏效果。
这个动作是Mac的OSX等操作系统支持的苹果专用鼠标提供的基于鼠标Hover交互的交互方式,如果我们把触摸板外设也作为鼠标的变体和延伸的话,笔记本的触摸板也提供这个交互方式。
Pan交互触发条件:Hover于指定控件,二维平面内轻划鼠标操作区实现。
Zoom
Zoom交互分为放大(Zoom In)和缩小(Zoom Out)操作,一般是鼠标指针Hover于指定界面或UI控件,通过鼠标按键或快捷键激活Zoom状态,缩放完成后,再通过释放按键解除zoom状态。
Zoom交互触发条件:Hover于指定控件,通过鼠标按键或快捷键激活Zoom状态,二维平面内轻划鼠标操作区实现Zoom效果,然后释放按键解除Zoom状态。
以上就是PC端鼠标能够实现的主要交互行为。下一篇我们继续分析PC端鼠标交互和移动端手势交互的异同。