这几天在工作中处理了一个历史遗留问题:弹窗适配,几经折腾终于落定发包。于是我也趁着这个机会把弹窗体系梳理研究了一遍。

我们常见的弹窗有对话框,提示框,有时候在需求沟通中经常会听到产品同学说,给这里加个弹窗,那里加个提示框吧。实际上,这个弹窗到底该不该加?这个弹窗承载的是提示说明文字内容,还是需要引导用户下一步操作?接下来我们从弹窗的属性来聊聊我们的弹窗到底在什么时候加比较合适?用什么形态展示体验会更好。

弹窗体系:模态与非模态

模态弹窗:是指在用户任务中,终止了用户的上一步行为。也就是说,这个模态弹窗必须要用户操作才可以进行下一步动作。所以在产品设计中,我们通常会用模态弹窗引导用户去做我们要他做的操作。

常见的模态弹窗有这几种:对话框、动作栏、浮层。

对话框:对话框主要是给用户提供选项、相关的操作。另外,在一些对话框中,也可以展现图片、头像、步骤图、其它输入项等。

动作栏:常见的动作栏一般会出现屏幕下方,比如选择某个内容时候,出现的选择。

浮层:弹出窗口,浮动于顶层窗口,气泡。

非模态弹窗:是指不强制用户操作,他的作用相当于内容信息提示,他的出现不打扰用户的当前操作,并且有时间限制,在一定时间里能自动消失。比如“xxx 功能已更新哦”,这种提示是不需要用户点击操作,让用户看到就可以了。

常见的非模态弹窗有这几种:toast/hud、snackbar、notice(通知)

toast/hud:iOS用户更习惯于在中间感知反馈信息,通常在信息提示完3秒左右后会消失,安卓通常会出现在屏幕顶部或者下部,不会遮挡主体内容。需要注意的是toast只有文字,hud是可以带有图标的。

snackbar;可以理解为加强版的Toast

notice:系统消息、通知推送,也是不干扰用户行为,有消失时间,是非模态的弹窗。

什么场景下使用什么弹框

了解完弹窗体系后,我们就可以针对具体场景来看产品同学说加个弹窗到底合适不合适?我们可以从下面的几个使用场景来看用什么样的弹窗合适。

1、重要打断用户操作:在一些重要操作,避免用户操作失误。不过目前很多人都觉得这类弹框有利有弊,有的地方出现的不合时宜,打断了用户的使用状态。所以在设计这类弹框时要非常谨慎,得通过多研究确认是否有必要出现。

对话框相对来说比动作栏更重要,因为视觉在中心,更能强烈引起用户的重视,对于十分重要的内容需要打断用户上一步任务的采用对话框的弹窗,对于不是特别重要信息露出又需要终止用户上一步动作的情况下,一般采用动作栏弹框。

2、定制化广告弹窗:如功能更新、升级、优惠券弹窗。这一类一般是强制用户看到的,要展示出与众不同的特色,在视觉上比较突出,会使用模态的弹窗浮层形式。

3、给予一定提示:比如提示用户状态、信息、反馈,确保用户知晓自己所处的状态,并可以做出相应的措施。一般使用非模态的弹窗。

4、用户操作反馈:出现在用户操作完之后的反馈,比如提醒用户页面正在加载中、保存成功、已删除、已刷新等等。

可以不用弹窗的反馈例子:完成页

比如已支付成功、下载完毕、签到成功,这一类是告诉你上个动作结束了,下一步不需要进行引导了,这种反馈大多数都不采用弹窗形式展现了。

需要注意事项

1、层级关系:弹框是内容和导航的补充,用于通知、操作菜单、成功或加载状态的 toast,他是写在蒙层上面的一层内容。

2、适配方式

下面我们需要了解的是这几种弹窗在开发那的实现形式。我们可以理解为2种形式:

一种是开发直接用系统的接口,缺点是具有不可定制,形式美观度不够好。

另一种是开发用代码会单独写出一个模态弹框系统,这套系统与整体设计语言具有一致性,可以复用在各个任务中,可以定制化设计。

需要注意的是,代码写出来的模态样式要考虑在不同机型的适配情况,考虑不同机型的边界。这个适配也有两种实现形式,一种是固定宽高尺寸,展示在不同机型尺寸中,另一种是常用的等比例缩放。这个就需要开发与设计进行密切的沟通,能尽量合理的在不同机型展现更加合适,避免出现极限的情况。

我们是这样操作的,为了避免尺寸比例混乱的情况,会设计一个弹窗的宽高尺寸范围,开发同学代码写出的这套弹窗的适配在各个机型中,是在一定缩放比例下,适用各个不同情况下的视觉展示。这套弹窗可以调用在首页引导、升级等各个页面的弹窗设计中

~此文转载,如有侵权,请联系删除

toast弹窗_一个弹窗的设计思考相关推荐

  1. jsapi设计_一个简单API设计

    用一个红绿灯来学习jsAPI的设计 CSS #trafficLight > li{ display: inline-block; } #trafficLight span{ display: i ...

  2. mysql设计一个简单的系统_一个简单数据库设计例子

    一个曾经做过的简单的管理系统中数据库设计的例子,包括设计表.ER图.建模.脚本. 项目信息 Project Name: Book Manager System DB: MySQL5.5 DB Name ...

  3. PLC设计思考[2]

    前几天写过一个<PLC设计思考>, 里面提到了西门子博途,这几天我又查了一下资料,觉得西门子的smartplc比较好,或者说比较适合我目前的情况. smartplc里面也有查询网络上的cp ...

  4. avue 文字点击 弹窗_经验 | UI设计师必懂的App弹窗设计方法

    本文总结了App弹窗设计体系,以及不同弹窗的使用方法和误区.案例丰富,适合UI设计师进阶学习. 这一篇你将看到: 1.弹窗的定义 2.不同类型弹窗的特点及使用场景 3.常见使用误区 一.弹窗的定义: ...

  5. vue 一个组件内多个弹窗_论如何用Vue实现一个弹窗-一个简单的组件实现

    前言 最近在使用element-ui框架,用到了Dialog对话框组件,大致实现的效果,跟我之前自己在移动端项目里面弄的一个弹窗组件差不太多.然后就想着把这种弹窗组件的实现方式与大家分享一下,下面本文 ...

  6. vue弹窗调用另一个弹窗_电脑桌面“脏乱差”,插件弹窗广告一个不少,学会say no很重要...

    Hello大家好,我是兼容机之家的小牛! 很多人买了新电脑,一次性就把很多可能用到的,用不到的软件都装在电脑上,这样不出一会电脑开机就变慢了,C盘容量减少了,反而有可能多了很多垃圾的弹窗. 了解一点电 ...

  7. layer 关闭一个弹窗打不开新的的弹窗_如何关闭烦人的电脑弹窗广告?5种方法教你轻松解决...

    如果要问大家在使用电脑的过程中让人最反感的是什么,我想许多人的回答都会是弹窗广告.一些软件为了给自己创收,完全不顾用户的使用体验,在软件中强行加入广告弹窗模块.这些弹窗广告不仅让人在视觉上烦不胜烦,而 ...

  8. 如何主动触发时间选择器弹窗_请合理使用Alert弹窗

    最近做了不少产品的竞品分析,执行一些操作时不免遇到各式各样的模态弹窗,有些弹窗总是意想不到的出现,令我抓狂,导致我不得不认真阅读弹窗内的文字信息,并作出选择:有时候我会习惯性点击右侧的按钮,发现操作后 ...

  9. Toast(提示信息),Dialog(弹窗).

    Toast Toast就是显示一个提示信息,它没有焦点,不接受点击事件.主要掌握Toast.makeText(), toast.setGravity()(位置定位),toast.setDuration ...

最新文章

  1. 应届前端面试——看这篇就够了(一)
  2. 【Tools】Linux下C和C++程序中内存泄露检测
  3. Microsoft Desktop Player是IT Pro的宝贵工具
  4. 分布式数字签名令牌TokenProvider
  5. Factory method ‘redisConnectionFactory‘ threw exception; nested exception is java.lang.NoClassDefFou
  6. python中相对路径_Python中的绝对路劲和相对路径
  7. Python爬虫从入门到放弃(二十三)之 Scrapy的中间件Downloader Middleware实现User-Agent随机切换...
  8. 本地上支持apache多站点访问
  9. win7下安装openSSH
  10. php蓝奏云网盘源码,蓝奏云网盘pc版易语言开源软件源码
  11. 游戏缺少d3dx9_XX.dll文件的解决办法
  12. 如何使用imp导入dmp文件
  13. 【PowerBI】钉钉邮箱已经不能注册 Power BI 账号
  14. 谷歌放弃了IE6/The Google phasing out support for IE6.0
  15. Python3-网页爬取-批量爬取贴吧页面数据
  16. 网络爬虫Python试验
  17. 苹果零售店十大秘诀:禁止纠正顾客发音错误
  18. [QT_016]Qt学习之QPlainTextEdit 、QTextEdit 、QTextBrowser
  19. 理解卷积的空间不变性和通道特异性
  20. PreScan快速入门到精通第二十四讲3D车辆动力学模型

热门文章

  1. vscode常用快捷键大全
  2. 函数式编程 -- 函数组合
  3. C#LeetCode刷题-贪心算法
  4. MySQL常用数据类型
  5. javascript 代码_如何使您JavaScript代码简单易读
  6. shader 隐身_如何超越隐身障碍
  7. Java 树的构造算法
  8. oa工作流 源码_oa管理系统工作流是什么?类型、优势、功能有哪些?
  9. docker copy异常
  10. linux 常见命令整理记录