Toast 概览

消息框可以在一个小型弹出式窗口中提供与操作有关的简单反馈。它只会填充消息所需的空间大小,并且当前 activity 会一直显示及供用户与之互动。超时后,消息框会自动消失。

例如,点按电子邮件中的发送会触发“正在发送邮件…”消息框,如下面的屏幕截图所示:

Android 设备屏幕截图,其中在应用图标旁边显示弹出式消息框“正在发送邮件”

如果您的应用以 Android 12(API 级别 31)或更高版本为目标平台,则消息框上限为两行文本,并且必须在文本旁边显示应用图标。请注意,此文本的行长因屏幕尺寸而异,因此最好尽可能缩短文本长度。

消息框的替代方案

如果您的应用在前台运行,请考虑使用信息提示控件替代消息框。信息提示控件中包含用户可操作的选项,可提供更好的应用体验。

如果您的应用在后台运行,并且您希望用户执行某项操作,请改用通知

实例化 Toast 对象

请使用 makeText(),该方法采用以下参数:

  1. activity Context
  2. 应向用户显示的文本。
  3. 消息框应在屏幕上停留的时长。

makeText() 方法会返回正确初始化的 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 对象,如以下代码段所示:

Kotlin

Toast.makeText(context, text, duration).show()

Java

Toast.makeText(context, text, duration).show();