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();