android系统toast是什么意思,Android - Snackbar vs Toast - 使用和区别

Snackbar和Toast都是Android中用于短暂反馈用户信息的方式。Snackbar位于屏幕底部,可包含操作且能通过滑动消除,更适合需要用户交互或显示重要警告。Toast则无法消除,常用于简单信息提示,不涉及用户操作。系统消息通常指与设备或系统状态相关的通知,适合使用Toast。设计指南推荐使用Snackbar作为首选,因为它提供了更好的用户体验和交互能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android - Snackbar vs Toast - 使用和区别

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

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

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

和祝酒词。

Android还提供了一种胶囊形状的吐司,主要用于   系统消息。 Toasts与snackbars类似但不包含   动作,不能刷掉屏幕。

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

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

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

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

8个解决方案

83 votes

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

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

“系统消息”是什么意思? 这是否适用于显示   当我的应用程序与我的应用程序之间发生重要事   Android系统?

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

我喜欢的是刷掉屏幕功能 - 这是一个原因   开始用小吃店取代烤面包片? (这有点基于意见   问题虽然)

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

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

40 votes

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

+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+

| # | 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 |

+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+

Midhun MP answered 2019-09-03T19:49:04Z

20 votes

吐司:

在API级别1中添加了Toast

基本上不需要活动(可以在Android主页上显示,甚至可以在其他应用程序之上显示)

它无法根据用户输入执行操作

它不能被刷卡解雇

它无法处理用户输入,如滑动,点击等。

适合向用户显示信息消息

小吃店:

SnackBar在API Level 23中添加

它可以在应用程序的活动内部显示

它可以执行一个动作

它可以通过刷卡解散

它可以处理用户输入

适合向需要注意的用户显示警告/信息类型消息

SnackBar和Toast的用法:

小吃店:

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

吐司:

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

例如:

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

Dhaval Jivani answered 2019-09-03T19:51:23Z

8 votes

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

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

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

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

Nicolau answered 2019-09-03T19:52:06Z

2 votes

谷歌的材料设计规范说,没有动作就可以使用Snackbar。 他们提供了Snackbar如果只显示单个String应该是什么样子的示例。 我认为“系统消息”意味着网络连接丢失等设备事件 - 而归档电子邮件则是Gmail特定的操作。

为了保持一致性,选择Toast或Snackbar是有意义的,并在整个应用程序中应用它。

fractalwrench answered 2019-09-03T19:52:37Z

1 votes

简短的回答是,这些是在后台发生的事情与用户沟通的两种方式,你可以达到其中一个,它们都很好。 只要确保你使用的是同一个,而不是来回切换它们。

答案很长:

不,这意味着如果你需要一些动作,你必须使用Snackbar。 您仍然可以仅将Snackbar用于消息(例如“Uploading finished”)。

通过“系统”它并不仅仅意味着Android系统。 例如,如果从服务器获取信息时出现了json解析问题,您仍然可以使用Toast让用户在与服务器通信时出现问题。

如果你真的需要刷掉这个,这就是选择Snackbar的原因

shem answered 2019-09-03T19:53:27Z

1 votes

我们的设计团队正在考虑使用烤面包或零食。 我们得出结论,应用程序应该使用零食条,因为它具有灵活性。

只有当我们需要一个持久的,短的字符串,信息消息仍然在不同的屏幕上有意义时,才应该使用Toasts。

Vennsoh answered 2019-09-03T19:53:57Z

0 votes

Android还提供了一个胶囊形状的吐司,主要用于系统消息传递。

我认为,通过“系统消息传递”,他们还可以参考这样一个事实:即使用户在活动中导航,即使应用程序被移动到后台,也会在特定时间显示吐司并且不会被解雇。

我认为快餐栏的一个优点是将其范围限制在一个活动中并能够解除它。

Peter F answered 2019-09-03T19:54:34Z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值