如何在Toast通知中包含按钮?

时间:2012-03-05 23:10:07

标签: android

首先,我知道之前已经问过这个问题:Button in custom Android Toast?。 这几乎完全重复,但我认为它保证了一个新的问题,因为它已被用于应用程序,即用于ICS的Gmail(当您删除邮件时出现)。

链接的问题表明,无法在Toast中添加按钮,因为Toast无法关注。这是错误的,过时的,还是Gmail找到了解决方法?

5 个答案:

答案 0 :(得分:37)

Gmail撤消栏不是祝酒词,Google就是这样做的

http://code.google.com/p/romannurik-code/source/browse/misc/undobar/src/com/example/android/undobar/UndoBarController.java

我想这可以回答你的问题。

答案 1 :(得分:2)

你所指的不是Toast,而是谷歌称之为Snackbar的东西。请参阅Material Design guidelines

您可以在GitHub上找到several implementationsSome也名为UndoBar

目前,最广泛,最流行,最活跃的似乎是Snackbar by nispok,我也碰巧使用它。

答案 2 :(得分:1)

如果你想要一个吐司的按钮,你最好放弃这个想法。但您可以使用对话框代替吐司。使用dailogs,您将能够显示您想要的任何内容(与吐司相同的功能)。同样在dailog中,你可以设置按钮。

答案 3 :(得分:0)

iOS上的Gmail确实提供了一个祝酒词,它比使用对话框中断用户流程要好得多。

![适用于iOS的Gmail中的Toast风格消息] [1] [1]:http://i.stack.imgur.com/LWClq.jpg

如果使用此选项,请确保toast显示的时间足够长,以便用户在需要时点击撤消。因此只有5秒,而不是只有信息吐司的2.5-3秒。

CommonsWare引用的另一个例子是在滑动手势后显示的内联反馈。这不是祝酒 - 但它也是提供已执行操作的反馈的好方法。

答案 4 :(得分:0)

我扩展了@Hazem(link)提到的UndoBar并使其更通用,以便它也可以用于其他操作。你可以看看here