前言
在iOS交互模型的最底层,有一个“空间”的概念(具体可见ios空间模型), 而空间最基本的属性就是三个维度。滑动依存于屏幕这个二维环境,也可以从维度这个角度去思考。最常见的滑动例如ios里删除短信息的操作,这里的滑动是最 基础的,可以理解成一维的、被赋予了唯一功能的操作。但如果认为滑动就是这么简单,那可能忽略了滑动可以为设计带来的千变万化。
当滑动被赋予功能,并与界面(信息或控件)结合时,具有很强的可塑性,并可有效提升操作的易用性、高效性、有效性。根据滑动的维度,可以分成一维滑动、二维滑动;同时结合滑动控制界面的方式,也可以分为连续和离散。通过一些实例具体说明。
一维滑动
Mailbox在邮件列表对邮件进行操作时,使用了一维离散型的滑动:
1 向右滑动邮件列表中的一个邮件条目,根据滑动距离的长短先后出现已读,删除操作,release后执行。
2 向左滑动邮件列表中的一个邮件条目,根据滑动距离的长短先后出现归为待办事项、分类归档操作,release后执行。
(图片来自ifanr)
百度浏览器页面缩放的功能,采用了一维连续型滑动:
1 默认在界面底部的工具栏显示最常用操作,
2 在工具栏滑动时,工具栏变为页面缩放的控件;
3 通过滑动距离长短控制页面缩放大小(越右越大),同时上方页面以页面左上为缩放中心,实时反馈页面缩放效果;
4 release结束缩放操作,得到缩放后的页面。
二维滑动
当滑动被赋予的功能增加,或需要更复杂控制时,一维不能解决,可以升维成二维滑动。
ios默认视频播放器的视频进退控制,采用了二维滑动:
操作:按下滑块后沿竖直方向滑动,根据滑动距离切换速度,再横向滑动进退,release后视频进度生效。
效果:下图绿线为手实际滑动距离,紫线为视频进退幅度。不同速度下水平滑动同样距离,视频进退的幅度不同,高速进退幅度最大,慢速最小。
如果把视频播放器的滑动操作抽象,可形成其通过二维滑动变速控制视频进度的二维空间模型,如下:竖直方向的滑动,通过离散的方式选择进退速度。水平方向的滑动,通过连续的方式控制视频进退的幅度。
类似的还有猛犸浏览器的页面变速滚动功能:
操作:在页面中纵向滑动时,页面以默认滑动速度滚动;如果先从屏幕右边缘横向滑动,便可选择不同滚动速度(越左速度越快),再纵向滑动以滚动页面。
效果:手向下滑动同样距离,速度快的页面滚动幅度大(下图绿线表示手实际滑动距离,紫线表示页面滚动幅度)
滚动功能的二维空间模型如下:
以上两个二维滑动的例子都是通过在一个维度改变速度去影响另一个维度对幅度的控制。Snapseed的二维滑动操作更加简单易用,在界面任意位置竖直滑动 固定距离切换功能,水平滑动控制具体功能的参数大小。 如果把snapseed的滑动操作抽象,可形成其通过二维滑动实现功能切换和参数调节的二维空间模型:
由此引申一下,当两个维度都可以自由滑动时,滑动可变为拖动。这时为拖动赋予功能,去判断这个功能的标准除了上文提到的滑动距离,还可以是手或被拖动物体 到达或离开的区域。例如Launcher中,按下apps后进入二级界面,手滑动到对应区域release激活操作。
总结
滑动手势诠释了“模糊的精确”的设计思想,有效提升操作可用性:
1 易于学习并形成习惯用法。
2 在移动环境下使用,适合单手操作,高效易控。
3 通过直接操作的对象或需要时出现,代替工具栏、菜单等常用控件,节省界面空间,为信息让路。
4 易成为产品的杀手级功能和传播点。
当滑动被赋予功能,并与界面(信息或控件)结合时,可以有较强的可塑性,可从以下方面为切入点,结合产品功能进行思考:
1 赋予简单功能的滑动可以是一维的;需要增加功能类别或者强度时,可以升维,形成二维滑动或者拖动。
2 为滑动赋予功能时,去判断这个功能类别或强度的标准可以是滑动的直线距离。为拖动赋予功能时,标准可以是手或被拖动物体到达或离开的区域。
3 借用人机交互学当中的对控制器的定义,滑动可以通过连续或者离散的两种方式去控制界面。
最后,在设计滑动时还要考虑:
1 滑动不是目的而是手段,先功能后交互。
2 按照交互设计从大到小的指导思想,为维度赋予功能前,先梳理功能架构和优先级,把最常用功能置前或者设置为默认生效。 如:maibox中最易触发的向右滑动的第一级,被赋予了最常用的已读功能。
视频播放器中,在播放进度条的区域滑动时默认为高速进退。需要精确控制时通过竖直滑动变速。
百度浏览器中,默认显示最常用的工具栏,滑动时才显示页面缩放控件。
3 在分析具体的动态交互效果时,可以参照Design interactions中对鼠标拖动操作的分析表格(如下图),创建滑动的表格帮助理清思路(X轴可为滑动的状态细分,y轴可为滑动过程中涉及的界面元素和控件)。
图片来自Designing web interface
4 有些复杂滑动操作有一定学习成本,可作为快捷方式,同时还需要具备通过常规点击也可实现的操作方式。
参考文献
相关推荐
接着,从行业监管、法律法规、经营模式、周期性、区域性、季节性等多个维度分析了滑动轴承行业的特点与发展特征,强调了行业监管体制的重要性以及行业发展的周期性与区域特性。 报告对中国滑动轴承行业进行了深度...
`CoolSlidingMenu`的核心是通过滑动操作来展示和隐藏菜单,这种设计模式常见于许多流行的移动应用中,它提供了一种高效且直观的方式来切换不同的功能区域。下面我们将深入探讨这个库的关键技术和实现细节。 1. **...
2. 公司分布:报告从公司性质、档次、区域和应用领域等多维度对滑动轴承产品的消费规模及占比进行分类调研,揭示了各类细分产品的市场容量、需求特征和主要竞争厂商,帮助客户全面了解滑动轴承行业的产品结构和各...
在"094421iraaykjatht3yvy2.png"这个图片文件中,可能展示了这个嵌套滑动效果的实际操作界面,用户可以直观地看到如何在垂直和水平两个维度上滑动列表项。这种设计对于展示多级分类或者复杂数据结构非常有用,例如,...
滑动窗PLS则是在这个基础上引入时间维度的概念。在每一时刻,我们只考虑一个固定大小的“窗口”内的数据,然后应用PLS模型。随着窗口沿着时间轴滑动,模型会不断更新,以反映数据随时间的变化。这种方式有助于捕捉...
这个"Android 滑动开关按钮源码"的压缩包文件提供了关于如何实现自定义滑动开关的一个实例,非常适合计算机专业的学生进行毕业设计或者论文研究。下面,我们将深入探讨Android滑动开关的相关知识点。 首先,Android...
通过研究和理解这个示例,开发者可以更好地掌握如何在Swift中实现一个具有滑动返回功能的多层级UITableView。 总之,要在Swift的UITableView中实现多层数据的滑动回退功能,我们需要对数据模型、...
多轴向操作接口是指能够处理两个或更多轴向输入的交互系统,例如在手机和平板电脑上的滑动、旋转、捏合等多维度手势控制。这种接口设计能够提升用户体验,使得用户能更自然、直观地与设备进行交互。 信息显示方法则...
综合来看,这份报告提供了对2020年滑动导向零件行业市场的深入分析,不仅涵盖了市场规模、公司分布、市场前景、人力成本等多个维度,还通过详细的数据图表和行业薪酬水平分析,为企业和个人提供了宝贵的行业资讯和...
卷积层使用卷积核对输入的图像进行卷积运算,通过滑动窗口的方式从图像中提取局部特征,然后通过激活函数引入非线性,生成特征图。这些特征图随后可以通过池化层降低维度,减少计算量和过拟合风险。卷积和池化操作...
因此,研究者探索了如何通过增加第三个维度(时间)来改善这种情况。 论文的核心研究是对比二维和三维可视化在理解运动数据方面的效果。作者指出,虽然三维可视化理论上能解决空间重叠的问题,但之前的实验并未明显...
报告覆盖了市场规模、公司分布、市场前景、人力成本、薪酬水平等多个维度。通过对市场规模的分析,可以判断行业的发展潜力和成长性,预测未来的消费规模增长趋势。公司分布部分通过对不同种类、档次、区域和应用领域...
2.2.1. 卷积层:卷积层通过滑动滤波器对输入图像进行运算,生成特征图,能够捕获图像的空间特征,如边缘、形状和纹理。 2.2.2. 池化层:池化层通过采样操作减小输入图像的尺寸,降低计算需求,同时防止过拟合,保持...
Scale操作是将前面得到的归一化权重加权到每个通道的特征上,论文中的方法是用乘法,逐通道乘以权重系数,完成再通道维度上引入注意力机制。 注意力机制是在神经网络中引入选择性关注输入信息的机制,以从大量信息...
7. **用户交互**:最后,将处理后的图片显示给用户,并接收用户的滑动操作。易语言提供了丰富的图形用户界面(GUI)组件,可以创建按钮、滑块等元素,实现用户交互。 在易语言中实现这些功能时,你需要对图像处理...
池化层(Pooling Layer)通常跟随在卷积层之后,其主要目的是减少特征图的维度,降低参数数量和计算量,同时也能减小过拟合。池化操作包括最大池化和平均池化等,其中最大池化保留了特征图中的最强信号,而平均池化...
在滑动窗口Timesformer中,序列被划分为多个连续的小段(窗口),每个窗口内的样本进行独立的Transformer操作,然后将这些窗口的结果融合,以获取整个序列的信息。这种方法能够平衡计算复杂度和捕捉长期依赖之间的...
《AutoBANK水工结构分析软件使用教程》是河海大学工程力学研究所为用户提供的软件操作指南,适用于由河海大学研制的AutoBANK水工结构分析软件。该软件可广泛用于分析计算土坝、堤防、涵洞、水闸等水工建筑物。它采用...
2. **触摸事件处理**:理解MotionEvent的相关API,如何检测和响应用户的滑动操作。 3. **页面滑动动画**:DraggedViewPager可能使用了ObjectAnimator或ValueAnimator来实现平滑的页面过渡效果。 4. **手势识别**:...