浮動式訊息總覽

浮動式訊息會以小型的彈出式視窗提供簡單的回饋內容。它只會填滿訊息所需的空間,而目前進行中的活動仍會出現在畫面上,可以繼續進行互動。浮動式訊息會在逾時後自動消失。

舉例來說,如果點選電子郵件上的「傳送」,就會觸發「正在傳送郵件...」浮動式訊息,如下方螢幕截圖所示:

圖中的 Android 裝置顯示彈出的浮動式訊息,而訊息內的應用程式圖示旁顯示「正在傳送郵件」

如果您的應用程式指定 Android 12 (API 級別 31) 以上版本,則浮動式訊息僅限 兩行文字,並在文字旁邊顯示應用程式圖示。請注意,這行文字的長度會因螢幕大小而異,因此請盡量讓文字簡短。

使用浮動式訊息的替代方案

如果您的應用程式位於前景,請考慮使用 snackbar 而不要使用浮動式訊息。Snackbar 包含使用者可操作的選項,可為應用程式提供更優質的使用體驗。

如果應用程式在背景執行,而您希望使用者採取某些動作,請改為傳送通知

對浮動式訊息物件執行個體化

請使用 makeText() 方法,該方法會採用下列參數:

  1. 活動 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();