Toast 概览

Toast 是一个小型弹出式窗口,用于对某项操作提供简单的反馈。它只占据显示消息所需的空间,当前 activity 仍然可见且可交互。Toast 会在超时后自动消失。

例如,在电子邮件中点击发送会触发“正在发送邮件…”的 Toast,如以下屏幕截图所示

Image of Android device showing a toast popup reading
            'Sending message' next to an app icon

如果您的应用以 Android 12(API 级别 31)或更高版本为目标平台,其 Toast 会被限制为两行文本,并在文本旁边显示应用图标。请注意,此文本的行长度会因屏幕尺寸而异,因此最好使文本尽可能短。

Toast 的替代方案

如果您的应用位于前台,请考虑使用Snackbar 而非 Toast。Snackbar 包含用户可操作的选项,这可以提供更好的应用体验。

如果您的应用位于后台,并且您希望用户执行某些操作,请改用通知

实例化 Toast 对象

使用makeText() 方法,该方法接受以下参数

  1. activity 的 Context
  2. 应向用户显示的文本。
  3. 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();