到目前为止,我们一直在我们的应用程序中使用Toasts,因为我们计划采用Support Design Library的一些新功能.我想知道Snackbar与Toast的推荐用法是什么.
我一直在谷歌材料snackbar doc上阅读.
Snackbars在移动设备和桌面左下方的屏幕底部的小弹出窗口中提供有关操作的轻量级反馈.它们首先是屏幕上的元素,包括FAB.
和祝酒词.
Android还提供了一个胶囊形状的吐司,主要用于系统消息传递.Toasts与snackbars类似,但不包含动作,不能在屏幕上滑动.
我明白他们做了什么但我有点困惑何时使用什么.这是否意味着:
如果我不需要用户互动,我会用吐司吗?
"系统消息"是什么意思?这适用于在我的应用和Android系统之间发生重要事件时显示信息吗?
我喜欢的是滑动屏幕功能 - 这是开始用小吃棒替换烤面包的原因吗?(虽然这是一个基于意见的问题)
AndroidMecha.. 94
如果我不需要用户互动,我会用吐司吗?
你仍然可以使用零食吧.对小吃吧采取行动并非强制性要求.
"系统消息"是什么意思?这适用于在我的应用和Android系统之间发生重要事件时显示信息吗?
我相信这意味着如果有一些与系统有关的消息,将使用Toasts.无论是作为一个整体的android还是你可能正在运行的一些后台服务.例如Text-To-Speech is not installed.
ORNo Email client found.
我喜欢的是滑动屏幕功能 - 这是开始用小吃棒替换烤面包的原因吗?(虽然这是一个基于意见的问题)
这是一个原因.但还有其他几个加分.例如:即使活动结束,您的吐司仍然在屏幕上.Snackbar没有.如果在退出应用程序之后很长时间没有弹出(或者在按顺序创建多个Toast的情况下不断弹出),那么混淆就会减少.小吃吧不会发生这种情况.
不仅仅是一切:我建议如果你在想,你应该转换.SnackBars看起来比Toasts好多了.
如果我不需要用户互动,我会用吐司吗?
你仍然可以使用零食吧.对小吃吧采取行动并非强制性要求.
"系统消息"是什么意思?这适用于在我的应用和Android系统之间发生重要事件时显示信息吗?
我相信这意味着如果有一些与系统有关的消息,将使用Toasts.无论是作为一个整体的android还是你可能正在运行的一些后台服务.例如Text-To-Speech is not installed.
ORNo Email client found.
我喜欢的是滑动屏幕功能 - 这是开始用小吃棒替换烤面包的原因吗?(虽然这是一个基于意见的问题)
这是一个原因.但还有其他几个加分.例如:即使活动结束,您的吐司仍然在屏幕上.Snackbar没有.如果在退出应用程序之后很长时间没有弹出(或者在按顺序创建多个Toast的情况下不断弹出),那么混淆就会减少.小吃吧不会发生这种情况.
不仅仅是一切:我建议如果你在想,你应该转换.SnackBars看起来比Toasts好多了.
我想在吐司和小吃店之间加一个小比较.在我看来,如果您打算提出需要用户互动/确认的警告或信息,您应该使用小吃店.如果它只是一条不需要任何用户确认的信息消息,您可以使用吐司.
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+ | # | Toast | Snackbar | +---+----------------------------------------------------------------------+--------------------------------------------------------------------------+ | 1 | Can’t be dismissed by swiping | Can dismiss by swiping | | 2 | Activity not required (Can show in android home or above other apps) | Can show inside an activity of your app | | 3 | Can’t handle user input | Can handle user input | | 4 | Good for showing info messages to user | Good for showing warning/info type messages to user that needs attention | +---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
吐司:
在API级别1中添加了Toast
基本上不需要活动(可以在Android主页上显示,甚至可以在其他应用程序之上显示)
它无法根据用户输入执行操作
它不能被刷卡解雇
它无法处理用户输入,如滑动,点击等.
适合向用户显示信息消息
小吃店:
SnackBar在API Level 23中添加
它可以在应用程序的活动内部显示
它可以执行一个动作
它可以通过刷卡解散
它可以处理用户输入
适合向需要注意的用户显示警告/信息类型消息
SnackBar和Toast的用法:
小吃店:
SnackBar可用于需要显示简单弹出消息的区域以及执行操作的选项.例如:在GMail应用程序中,当您删除Mail时,快速SnackBar显示在底部,消息"1已删除"并带有操作按钮"撤消".按下"撤消"操作按钮后,将恢复已删除的邮件.
吐司:
Toast可用于需要显示系统消息的区域.
例如:
当您的应用程序尝试从远程服务器下载JSON但由于服务器超时或找不到资源而失败时,您只需显示错误消息,指出"发生了错误".但是要了解Toast消息不能被刷卡解雇.如果您仍希望能够在应用程序中解除它,请转到SnackBar.
根据弹出消息概述中的官方文档:
注: 该小吃吧类取代吐司.虽然目前仍支持Toast,但Snackbar现在是向用户显示简短瞬态消息的首选方式.
和(材料设计)Snackbars的文件:
相关概念: Android还提供了一个Toast类,它具有类似的API,可用于显示系统级通知.通常,小吃条是向用户显示反馈消息的首选机制,因为它们可以在发生动作的UI的上下文中显示.保留Toast用于无法完成此操作的情况.