• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >心得技巧 > 这两个最常见的交互控件,你知道该怎么用吗?

这两个最常见的交互控件,你知道该怎么用吗?

作者: 字体:[增加 减小] 来源:互联网 时间:2018-08-23

本文主要包含Snackbar,Toast,交互控件等相关知识,希望在学习及工作中可以帮助到您

王镇雷:移动端设计中有三个名字经常被提到:Dialog、Toast 和 Snackbar,大部分同学从 Google 设计规范中第一次了解它们。

原本无论作为系统规范还是应用组件它们都已足够成熟,我也自以为对它们有足够的了解。但最近工作、交流中发现对这三者尤其 Snackbar 的了解非常浅,所以花了一点时间重新学习了一下。

我并非专业工程师,更多仅从设计师角度来阐述自己的心得。

作为应用中承担“操作反馈”和“信息传递”的组件,Dialog、Toast 和 Snackbar 三者很相似但又各有不同。尤其从 Snackbar 被提出之后,网络上有很多文章讨论它们三者的应用场景和使用方法。

Toast 翻译过来叫“吐司”,非常形象的一小片;Snackbar 则是“快餐店”,听起来就比吐司要牛逼一点。

众所周知,iOS 规范中是没有 Toast/Snackbar 这两个名字的,但由于设计“跟随操作且超轻量”的反馈交互比较困难,所以直接将文字、icon 在操作后甩到用户脸上成为了一种简单、有效的做法。

理想的反馈是发生在操作空间自身,如 Twitter 的 Favorite 按钮,触发与否都用动画来表达。第一做到了操作与反馈一体,第二避免了 按钮被反复点击触发多个 Toasts 所引起的坏体验。

最初我想当然的以为,那些出现在屏幕正中间、黑色半透明底色,显示文字或图案的东西叫做 Toast;而那些自带操作项,可以滑动或点击删除消息的东西则是 Snackbar。但实际上,通过位置、颜色、是否带操作和如何消失都无法准确定义它们。

首先,来复习一下 Material Design 的官方说明。(值得注意的是,现在 Snackbar 和 Toast 在同一个文档中,但谁能告诉我为什么这两个单词要用复数?)

Snackbars

contain a single line of text directly related to the operation performed. They may contain a text action, but no icons.

Only one snackbar may be displayed at a time. Each snackbar may contain a single action, neither of which may be “Dismiss” or “Cancel.”

Snackbars animate upwards from the bottom edge of the screen.

译文:

1. Snackbar 包含一条简单的、与操作行为相关的文字消息,它也可以包含一个文字操作项目,但不能包含 icon。

2.?同一时间只能出现一个 Snackbar,每个 Snackbar 可以包含。

3.?Snackbar 从屏幕底部向上移动出现。

Toasts (Android only) are primarily used for system messaging. They also display at the bottom of the screen, but may not be swiped off-screen.

译文:

Toast(Android only?显然已经不是了…)主要用于传递系统消息,展示于屏幕底部并且不能滑动消除。

可以看到,官方设计规范对 Toast 的描述已经很少了,似乎更倾向于让大家使用 Snackbar,而且它们的定义也非常含糊,显然大多数 App 都不是这么设计的……

从代码层面我们可以看到关于它们更多的特性

首先,与 Dialog不同,Toast 和 Snackbar 都不属于模态。这意味着它们不获取当前屏幕焦点,用户依然可以操作屏幕中的其他内容,这也正是所谓的“轻量化信息和反馈”。当设计者不希望用户任务被打断时,使用它们比 Dialog 更轻量。

其次,Toast 默认是展示在当前屏幕内所有控件之外,Snackbar 则是在控件的最顶层。从我的角度来看,似乎 Snackbar 更像应用的一部分而 Toast 则更接近系统消息。这可能就是官方所谓的“Toast are primarily used for system messaging”。

实际效果上,Toast 不会改变已有控件的布局,而 Snackbar 常常把悬浮按钮往上推。

再次,很多人会问,这两个消息显示多长时间比较合适?虽然设计规范中没有给出具体的时间建议,但代码却已经告诉我们。

在 Toast 和 Snackbar 的参数中,有 LENGTH_SHORT 和 LENGTH_LONG 两个状态,测试后分别为约1.8s和3s

然后,颜色、位置、操作和带不带 icon 真的很严格吗?答案是否定的。为了应对变态且任性的需求,有两篇文章

比如你想要的话,可以做到这样:

但是,设计师还是要有基本的节操,在追求最流畅用户体验的时代,不要轻易给用户太多的干扰。

总结

1. 关于差别。从用户感知层面,Toast 和 Snackbar 的最核心区别在于后者可以带一个操作项,并且可以主动消除。这样看来 Toast 似乎没有什么优点了,完全可以用 Snackbar 取代。当然,大部分用户对 Toast 更加熟悉,认知成本会更低。

2. 它们真的只是给你展示轻量级信息的。我见过有人在 Toast 里写小作文的,大概三四十个字。如果真的有这么多事要说明,真的应该考虑一下是否可以从流程上来解决交互问题,而不是单纯靠文字来说明操作反馈。或者如果必要,请使用 Dialog,不然用户真的来不及看,也显得消息并不重要。

3. 关于时间。能直接通过动画交互反馈的请不要使用 Toast 或 Snackbar,如成功加入购物车、成功收藏、成功发送消息等。如果要用,请将时间控制在1.8s或3s,我觉得1.8s就足够了。

4. 规范只是建议。技术层面上大概可以做到你想要的一切改变,不过作为设计师还是要慎重。毕竟 Google 的设计规范是经过大量用户测试和试验确定的,除非你自认为你的设计更加合理。

5. 才疏学浅,欢迎大家批评指导,也欢迎指出错别字和语病。

欢迎关注作者的微信公众号:

zlqr211

「快速上手交互控件的使用!」

  1. 超实用!3分钟带你掌握11个最常用的交互控件
  2. 高手帮你学规范!iOS和Android规范解析之提示框+警告框
  3. 高手帮你学规范!IOS和ANDROID规范解析之简易菜单+弹框

================明星栏目推荐================

优优教程网: UiiiUiii.com 是优设旗下优质中文教程网站,分享了大量PS、AE、AI、C4D等中文教程,为零基础设计爱好者也准备了贴心的知识树专栏。开启免费自学新篇章,按照我们的专栏一步步学习,一定可以迅速上手并制作出酷炫的视觉效果。

设计导航:国内人气最高的设计网址导航,设计师必备:http://hao..com

优设大课堂

您可能想查找下面的文章:

  • 案例超多!3大类APP弹窗提醒方式总结
  • 这两个最常见的交互控件,你知道该怎么用吗?

相关文章

  • 2017-08-06不压缩HTML的几个原因说明
  • 2017-09-11nodejs extend包
  • 2018-08-23PS合成教程!记忆大师的海报风格是怎么做的?
  • 2018-08-23想让用户忍不住浏览下去,这5种设计策略需谨记
  • 2017-08-06我们在囧途之UI工程师职业感慨
  • 2018-08-23腾讯高级设计师:交互知识树系列之平台规范
  • 2017-08-0640个CSS/JS风格和功能技术处理
  • 2018-08-23设计师如何有效参与团队协作?来看支付宝设计师的总结!
  • 2018-08-23用一个AI教程,帮你学会运用黄金分割绘制图形
  • 2017-08-06探讨百度百科UI的发展趋势

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 用一篇文章,帮你看懂微软最新发布的「流畅设计体系」!
    • 去掉点击链接时出现的虚线框的几个方法
    • 学会宜家效应,给你一个全新的设计思维!
    • 产品设计中有哪些实用的行为经济学知识?
    • 高手的平面课堂!用一个实战案例帮你学会平衡构图
    • css浮动(float,clear)通俗讲解经验分享
    • 浅色还是深色?教你选择合适的界面配色方案!
    • 想让产品更受欢迎?来看这5个增加设计趣味性的方法
    • HTTP协议中状态码的含义
    • 常用元素默认margin和padding值问题探讨

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有