2020-4-14 资深UI设计者
这几天在工作中处理了一个历史遗留问题:弹窗适配,几经折腾终于落定发包。于是我也趁着这个机会把弹窗体系梳理研究了一遍。
我们常见的弹窗有对话框,提示框,有时候在需求沟通中经常会听到产品同学说,给这里加个弹窗,那里加个提示框吧。实际上,这个弹窗到底该不该加?这个弹窗承载的是提示说明文字内容,还是需要引导用户下一步操作?接下来我们从弹窗的属性来聊聊我们的弹窗到底在什么时候加比较合适?用什么形态展示体验会更好?
常见的模态弹窗有这几种:对话框、动作栏、浮层。
对话框:对话框主要是给用户提供选项、相关的操作。另外,在一些对话框中,也可以展现图片、头像、步骤图、其它输入项等。
动作栏:常见的动作栏一般会出现屏幕下方,比如选择某个内容时候,出现的选择。
浮层:弹出窗口,浮动于顶层窗口,气泡。
非模态弹窗:是指不强制用户操作,他的作用相当于内容信息提示,他的出现不打扰用户的当前操作,并且有时间限制,在一定时间里能自动消失。比如「xxx 功能已更新哦」,这种提示是不需要用户点击操作,让用户看到就可以了。
常见的非模态弹窗有这几种:toast/hud、snackbar、notice(通知)
toast/hud:iOS 用户更习惯于在中间感知反馈信息,通常在信息提示完 3 秒左右后会消失,安卓通常会出现在屏幕顶部或者下部,不会遮挡主体内容。需要注意的是 toast 只有文字,hud 是可以带有图标的。
snackbar;可以理解为加强版的 Toast
notice:系统消息、通知推送,也是不干扰用户行为,有消失时间,是非模态的弹窗。
了解完弹窗体系后,我们就可以针对具体场景来看产品同学说加个弹窗到底合适不合适?我们可以从下面的几个使用场景来看用什么样的弹窗合适。
1. 重要打断用户操作
在一些重要操作,避免用户操作失误。不过目前很多人都觉得这类弹框有利有弊,有的地方出现得不合时宜,打断了用户的使用状态。所以在设计这类弹框时要非常谨慎,得通过多研究确认是否有必要出现。
对话框相对来说比动作栏更重要,因为在视觉中心,更能强烈引起用户的重视,对于十分重要的内容需要打断用户上一步任务的,采用对话框的弹窗,对于不是特别重要信息露出又需要终止用户上一步动作的情况下,一般采用动作栏弹框。
2. 定制化广告弹窗
如功能更新、升级、优惠券弹窗。这一类一般是强制用户看到的,要展示出与众不同的特色,在视觉上比较突出,会使用模态的弹窗浮层形式。
3. 给予一定提示
比如提示用户状态、信息、反馈,确保用户知晓自己所处的状态,并可以做出相应的措施。一般使用非模态的弹窗。
出现在用户操作完之后的反馈,比如提醒用户页面正在加载中、保存成功、已删除、已刷新等等。
可以不用弹窗的反馈例子:完成页
比如已支付成功、下载完毕、签到成功,这一类是告诉你上个动作结束了,下一步不需要进行引导了,这种反馈大多数都不采用弹窗形式展现了。
1. 层级关系
弹框是内容和导航的补充,用于通知、操作菜单、成功或加载状态的 toast,他是写在蒙层上面的一层内容。
2. 适配方式
下面我们需要了解的是这几种弹窗在开发那的实现形式。我们可以理解为 2 种形式:
一种是开发直接用系统的接口,缺点是具有不可定制,形式美观度不够好。
另一种是开发用代码会单独写出一个模态弹框系统,这套系统与整体设计语言具有一致性,可以复用在各个任务中,可以定制化设计。
需要注意的是,代码写出来的模态样式要考虑在不同机型的适配情况,考虑不同机型的边界。这个适配也有两种实现形式,一种是固定宽高尺寸,展示在不同机型尺寸中,另一种是常用的等比例缩放。这个就需要开发与设计进行密切的沟通,能尽量合理地在不同机型展现更加合适,避免出现极限的情况。
我们是这样操作的,为了避免尺寸比例混乱的情况,会设计一个弹窗的宽高尺寸范围,开发同学代码写出的这套弹窗的适配在各个机型中,是在一定缩放比例下,适用各个不同情况下的视觉展示。这套弹窗可以调用在首页引导、升级等各个页面的弹窗设计中。
文章来源:优设 作者:咏舍