建立進度指標

進度指標可視覺化呈現作業狀態。它們會使用動態效果,讓使用者注意到程序 (例如載入或處理資料) 完成的進度。也可以表示處理程序正在進行中,但不代表處理程序已接近完成。

請考慮下列三種可能會使用進度指標的用途:

  • 載入內容:從網路擷取內容時,例如載入使用者個人資料的圖片或資料。
  • 檔案上傳:提供使用者有關上傳時間的意見回饋。
  • 處理時間過長:當應用程式處理大量資料時,請向使用者說明完成的總量。

在 Material Design 中,進度指標分為兩種類型:

同樣地,進度指標可採用下列任一形式:

  • 線性:由左至右填滿的水平列。
  • 圓形:圓形的筆劃會逐漸變長,直到包含整個圓形的周長為止。

版本相容性

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

依附元件

建立確定指標

確定指標會準確反映動作的完成程度。請使用 LinearProgressIndicatorCircularProgressIndicator 可組合項,並傳遞 progress 參數的值。

以下程式碼片段提供較詳細的範例。使用者按下按鈕時,應用程式會同時顯示進度指標,並啟動協同程式,逐步增加 progress 的值。這會導致進度指標依序迭代。

結果

載入作業部分完成後,上例中的線性指標會顯示如下:

同樣地,圓形指標會顯示如下:

建立不確定指標

不確定的指標並不會反映作業完成的進度,而是透過動畫向使用者表示處理作業正在進行中,但不會指定任何進度。

如要建立不確定的進度指標,請使用 LinearProgressIndicatorCircularProgressIndicator 可組合項,但請勿為 progress 傳入值。以下範例說明如何透過按下按鈕來切換不確定指標。

結果

以下是指標處於啟用狀態時,此實作方式的範例:

以下是相同實作的範例,但使用 LinearProgressIndicator 而非 CircularProgressIndicator

重點

雖然您可以使用多個可組合項來建立與 Material Design 一致的進度指標,但這些可組合項的參數並沒有太大差異。請注意下列關鍵參數:

  • progress:指標顯示的目前進度。在 0.01.0 之間傳遞 Float
  • color:指標的顏色,也就是元件中反映進度的部分,並在進度完成時完全涵蓋元件。
  • trackColor:指標繪製時所用的軌道顏色。

包含此指南的集合

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

瞭解可組合函式如何讓您輕鬆根據 Material Design 設計系統,建立美觀的 UI 元件。
清單和格線可讓應用程式以視覺上賞心悅目且使用者易於取用的形式顯示集合。

有問題或意見回饋嗎?

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