Toast 是一个小型弹出式窗口,用于对某项操作提供简单的反馈。它只占据显示消息所需的空间,当前 activity 仍然可见且可交互。Toast 会在超时后自动消失。
例如,在电子邮件中点击发送会触发“正在发送邮件…”的 Toast,如以下屏幕截图所示

如果您的应用以 Android 12(API 级别 31)或更高版本为目标平台,其 Toast 会被限制为两行文本,并在文本旁边显示应用图标。请注意,此文本的行长度会因屏幕尺寸而异,因此最好使文本尽可能短。
Toast 的替代方案
如果您的应用位于前台,请考虑使用Snackbar 而非 Toast。Snackbar 包含用户可操作的选项,这可以提供更好的应用体验。
如果您的应用位于后台,并且您希望用户执行某些操作,请改用通知。
实例化 Toast 对象
使用makeText()
方法,该方法接受以下参数
- activity 的
Context
。 - 应向用户显示的文本。
- Toast 应在屏幕上停留的时长。
makeText()
方法返回一个已正确初始化的 Toast
对象。
显示 Toast
如以下示例所示,要显示 Toast,请调用 show()
方法
Kotlin
val text = "Hello toast!" val duration = Toast.LENGTH_SHORT val toast = Toast.makeText(this, text, duration) // in Activity toast.show()
Java
CharSequence text = "Hello toast!"; int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(this /* MyActivity */, text, duration); toast.show();
链式调用 Toast 方法
如以下代码段所示,您可以链式调用方法以避免持有 Toast
对象
Kotlin
Toast.makeText(context, text, duration).show()
Java
Toast.makeText(context, text, duration).show();