在烤面包上隐藏事件



我开发了一款游戏,想通过toast显示一个对话:每个句子在不同的toast中一个接一个地显示,但我找不到toast的事件,比如on hide/on destroy。我可以做这样的面包吗?

Toast消息没有事件,它们内置在实际的操作系统中,除了持续时间,位置,布局和内容之外,您无法控制或自定义它们。

如果你一个接一个地触发多个Toast消息,它们将被放置在一个队列中,下一个将在第一个持续时间结束时显示。通过这种方式,你可以实现你想要的,但是系统并没有设计成这样。你应该在视图层次结构中考虑一个View对象,它位于其他视图的顶部,用来放置句子。这将允许你对显示给用户的内容有更多的控制,并为它被触摸等提供回调。这意味着用户可以按照自己的速度阅读您显示给他们的消息,而不仅仅是按照您指定的Toast持续时间长度来阅读。

在调用Toast.show()函数时将toast加载到队列中,并依次显示。因此,在您的情况下,您应该能够执行如下操作:

Toast.makeText(context, "message 1" Toast.LENGTH_LONG).show();
Toast.makeText(context, "message 2" Toast.LENGTH_LONG).show();
Toast.makeText(context, "message 3" Toast.LENGTH_LONG).show();

和随后的每个Toast将在前一个Toast完成后显示

最新更新