Android - Snackbar vs Toast - 用法和差异

Jak*_*sky 90 android difference android-toast android-snackbar

到目前为止,我们一直在我们的应用程序中使用Toasts,因为我们计划采用Support Design Library的一些新功能.我想知道Snackbar与Toast的推荐用法是什么.

我一直在谷歌材料snackbar doc上阅读.

Snackbars在移动设备和桌面左下方的屏幕底部的小弹出窗口中提供有关操作的轻量级反馈.它们首先是屏幕上的元素,包括FAB.

和祝酒词.

Android还提供了一个胶囊形状的吐司,主要用于系统消息传递.Toasts与snackbars类似,但不包含动作,不能在屏幕上滑动.

我明白他们做了什么但我有点困惑何时使用什么.这是否意味着:

  • 如果我不需要用户互动,我会用吐司吗?
  • "系统消息"是什么意思?这适用于在我的应用和Android系统之间发生重要事件时显示信息吗?
  • 我喜欢的是滑动屏幕功能 - 这是开始用小吃棒替换烤面包的原因吗?(虽然这是一个基于意见的问题)

And*_*tel 94

如果我不需要用户互动,我会用吐司吗?

你仍然可以使用零食吧.对小吃吧采取行动并非强制性要求.

"系统消息"是什么意思?这适用于在我的应用和Android系统之间发生重要事件时显示信息吗?

我相信这意味着如果有一些与系统有关的消息,将使用Toasts.无论是作为一个整体的android还是你可能正在运行的一些后台服务.例如Text-To-Speech is not installed.ORNo Email client found.

我喜欢的是滑动屏幕功能 - 这是开始用小吃棒替换烤面包的原因吗?(虽然这是一个基于意见的问题)

这是一个原因.但还有其他几个加分.例如:即使活动结束,您的吐司仍然在屏幕上.Snackbar没有.如果在退出应用程序之后很长时间没有弹出(或者在按顺序创建多个Toast的情况下不断弹出),那么混淆就会减少.小吃吧不会发生这种情况.

不仅仅是一切:我建议如果你在想,你应该转换.SnackBars看起来比Toasts好多了.

  • 干杯,只有在你参加活动时,Snackbar才能活着是非常有用的. (14认同)
  • 我想补充说,除了系统消息之外,Toasts是首选引用应用程序的消息的首选,而Snackbars是引用当前活动的消息的首选.例如,如果您的应用在启动时检查更新,则最好为结果消息使用Toast.如果您的应用程序包含可以删除的项目,则首选将已删除的响应消息显示为带有撤消按钮的快餐栏. (9认同)
  • 另外需要注意的是,关闭通知时不会显示祝酒词. (9认同)

Mid*_* MP 45

我想在吐司和小吃店之间加一个小比较.在我看来,如果您打算提出需要用户互动/确认的警告或信息,您应该使用小吃店.如果它只是一条不需要任何用户确认的信息消息,您可以使用吐司.

+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| # |                                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 |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)


Dha*_*ani 24

吐司:

  1. 在API级别1中添加了Toast
  2. 基本上不需要活动(可以在Android主页上显示,甚至可以在其他应用程序之上显示)
  3. 它无法根据用户输入执行操作
  4. 它不能被刷卡解雇
  5. 它无法处理用户输入,如滑动,点击等.
  6. 适合向用户显示信息消息

小吃店:

  1. SnackBar在API Level 23中添加
  2. 它可以在应用程序的活动内部显示
  3. 它可以执行一个动作
  4. 它可以通过刷卡解散
  5. 它可以处理用户输入
  6. 适合向需要注意的用户显示警告/信息类型消息

SnackBar和Toast的用法:

小吃店:

SnackBar可用于需要显示简单弹出消息的区域以及执行操作的选项.例如:在GMail应用程序中,当您删除Mail时,快速SnackBar显示在底部,消息"1已删除"并带有操作按钮"撤消".按下"撤消"操作按钮后,将恢复已删除的邮件.

吐司:

Toast可用于需要显示系统消息的区域.

例如:

当您的应用程序尝试从远程服务器下载JSON但由于服务器超时或找不到资源而失败时,您只需显示错误消息,指出"发生了错误".但是要了解Toast消息不能被刷卡解雇.如果您仍希望能够在应用程序中解除它,请转到SnackBar.


Nic*_*lau 11

根据弹出消息概述中的官方文档:

注: 小吃吧类取代吐司.虽然目前仍支持Toast,但Snackbar现在是向用户显示简短瞬态消息的首选方式.

和(材料设计)Snackbars的文件:

相关概念: Android还提供了一个Toast类,它具有类似的API,可用于显示系统级通知.通常,小吃条是向用户显示反馈消息的首选机制,因为它们可以在发生动作的UI的上下文中显示.保留Toast用于无法完成此操作的情况.


小智 7

Android Toast 和 Snackbar 的区别

\n
    \n
  • Toast 消息可以自定义并打印在屏幕上的任何位置,但 Snackbar 只能显示在屏幕底部。
  • \n
  • Toast 消息没有\xe2\x80\x99 操作按钮,但 Snackbar 可以选择有操作按钮。
  • \n
  • 时限结束前,Toast 消息无法关闭,但 Snackbar 可以在时限前滑动关闭。
  • \n
  • 您可以使用这三个不同的值设置消息显示的时间。
  • \n
\n
    Snackbar.LENGTH_LONG\n    Snackbar.LENGTH_SHORT\n    Snackbar.LENGTH_INDEFINITE\n
Run Code Online (Sandbox Code Playgroud)\n

用法

\n

吐司

\n
Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();\n
Run Code Online (Sandbox Code Playgroud)\n

小吃店

\n
Snackbar snackbar = Snackbar.make(view,"This is Simple Snackbar",Snackbar.LENGTH_SHORT);\nsnackbar.show();\n
Run Code Online (Sandbox Code Playgroud)\n