消息框可以在一个小型弹出式窗口中提供与操作有关的简单反馈。消息框只会填充消息所需的空间大小,并且当前 activity 会一直显示并供用户与之互动。超时后,消息框会自动消失。
例如,点按电子邮件中的发送会触发“正在发送邮件…”消息框,如下面的屏幕截图所示:
![Android 设备屏幕截图,其中在应用图标旁边显示弹出式消息框“正在发送邮件”](https://developer.android.google.cn/static/images/toast.png?authuser=9&hl=ca)
如果您的应用以 Android 12(API 级别 31)或更高版本为目标平台,则消息框上限为两行文本,并且必须在文本旁边显示应用图标。请注意,此文本的显示长度因屏幕尺寸而异,因此最好尽可能缩短文本长度。
消息框的替代方案
如果应用在前台运行,请考虑使用信息条替代消息框。信息条中包含用户可操作的选项,可提供更好的应用体验。
如果应用在后台运行,并且您希望用户执行某项操作,请改用通知。
实例化 Toast 对象
请使用 makeText()
,该方法采用以下参数:
- activity
Context
。 - 应向用户显示的文本。
- 消息框应在屏幕上停留的时长。
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();