使用 Snackbar 建立通知

Snackbar 元件是短暫通知,會顯示在畫面底部。它可提供作業或動作的意見回饋,且不會中斷使用者體驗。小工具列會在幾秒後消失。使用者也可以透過動作關閉通知,例如輕觸按鈕。

請考慮下列三種可能會使用 Snackbar 的用途:

  • 確認動作:使用者刪除電子郵件或訊息後,系統會顯示快訊列,讓使用者確認動作並提供「復原」選項。
  • 網路狀態:當應用程式失去網際網路連線時,系統會彈出快訊列,指出應用程式目前處於離線狀態。
  • 資料提交:成功提交表單或更新設定後,系統會在 Snackbar 中顯示變更已成功儲存的通知。

版本相容性

這個實作方式要求專案 minSDK 設為 API 級別 21 以上。

依附元件

建立基本 Snackbar

如要實作 Snackbar,請先建立 SnackbarHost,其中包含 SnackbarHostState 屬性。SnackbarHostState 提供 showSnackbar() 函式的存取權,可用於顯示 Snackbar。

此暫停函式需要 CoroutineScope (例如使用 rememberCoroutineScope),並且可以呼叫此函式以回應 UI 事件,以便顯示 Scaffold 內部的 Snackbar

建立含有動作的 Snackbar

您可以提供選擇性動作,並調整 Snackbar 的持續期間。 snackbarHostState.showSnackbar() 函式可接受額外的 actionLabelduration 參數,並傳回 SnackbarResult

您可以提供含有 snackbarHost 參數的自訂 Snackbar。詳情請參閱 SnackbarHost API 參考資料文件

結果

圖 1. 含有動作的 Snackbar 通知。

包含此指南的集合

本指南是精選的快速指南系列之一,涵蓋更廣泛的 Android 開發目標:

瞭解可組合函式如何讓您輕鬆根據 Material Design 設計系統,建立美觀的 UI 元件。

有問題或意見回饋嗎?

請前往常見問題頁面,瞭解快速指南或與我們聯絡,分享您的想法。