Android 系統資訊列

狀態列、說明文字列和導覽列都是系統資訊列。這些功能會顯示重要資訊,例如電池電量、時間和通知快訊,並可讓使用者隨時隨地直接與裝置互動。

無論您是設計版面配置、輸入法或其他裝置功能,請務必考量系統資訊列的存在和醒目程度。

圖 1. 系統資訊列後方的圖片。

重點整理

  • 在版面配置中加入系統資訊列,以因應不同的螢幕大小和板型規格。考量 UI 安全區域、系統互動、輸入法、螢幕凹口、狀態列、說明文字列、導覽列和其他裝置功能。

  • 將系統狀態列和導覽列設為透明或半透明,並在這些列後方繪製內容,即可實現無邊框效果。

  • 使用 WindowInsets 妥善處理系統資訊列侵入問題,確保內容不會在自動調整版面配置中遭到遮蓋。

  • 使用標準版面配置,有效運用螢幕空間。

狀態列

狀態列包含通知圖示和系統圖示。使用者與狀態列互動,向下拉出通知欄。狀態列樣式可以是透明或半透明。

圖 2. 頂端應用程式列上方醒目顯示的狀態列區域。

狀態列圖示

狀態列圖示可能會因情境、時段、使用者設定的偏好設定或主題,以及其他參數而異。詳情請參閱「系統資訊列圖示」。

圖 3. 淺色和深色主題的狀態列圖示。

收到通知時,狀態列通常會顯示圖示。這表示通知導覽匣中有內容可供查看。這可以是應用程式圖示或代表頻道的符號。請參閱「通知設計」。

圖 4. 狀態列中的通知圖示。

設定狀態列樣式

將狀態列設為透明或半透明,確保應用程式內容能填滿整個螢幕。接著,設定系統資訊列圖示的樣式,確保圖示有適當的對比度。

Android 15 強制採用無邊框設計,因此狀態列預設為透明。呼叫 enableEdgeToEdge() 以確保回溯相容性。

在下方左側圖片中,狀態列呈現透明狀態,且 TopAppBar 的綠色背景繪製在狀態列後方。

圖 5. 請採用無邊框設計,提升內容品質。請勿使用不透明的系統資訊列。

如果 UI 不會顯示在狀態列下方,或圖片會顯示在狀態列下方,則適合使用透明狀態列。如果 UI 會在狀態列下方捲動,則適合使用半透明狀態列。如要進一步瞭解漸層保護,請參閱「無邊框設計」。

圖 6. 無邊框應用程式,在系統狀態列後方橫跨兩個窗格,並採用雙色調漸層保護。

Android 可讓使用者透過返回、主畫面和總覽控制項,控制導覽:

  • 「返回」可回到上一個畫面。
  • 主畫面:離開應用程式,前往裝置的主畫面。
  • 「總覽」會顯示執行中的應用程式,以及最近未關閉的應用程式。

使用者可以選擇各種導覽設定,包括手勢導覽和自動調整導覽。為提供最佳使用者體驗,請考量多種導覽類型。

手勢操作

手勢操作不會使用返回、主畫面和總覽按鈕,而是顯示單一手勢控點,提供操作提示。使用者可以從螢幕左側或右側邊緣滑動返回,或從底部向上滑動返回主畫面。向上滑動並按住,即可開啟總覽。

手勢操作是更具擴充性的導覽模式,適用於行動裝置和大螢幕。為提供最佳使用者體驗,請按照下列步驟調整手勢操作:

  • 支援無邊框內容。
  • 避免在手勢操作插邊下方加入互動或觸控目標。

詳情請參閱「新增手勢操作支援」。

圖 7. 手勢操作桿導覽列。

自動調整式導覽

Android 上的另一種常見導覽模式,是根據螢幕的視窗大小類別,在導覽邊欄和導覽列之間切換。Jetpack Compose 中的自動調整導覽元件可處理多種板型規格,同時避免系統資訊列干擾導覽元件的版面配置。

在自動調整式版面配置中,請考量系統資訊列在不同情境下的行為或樣式,例如精簡或展開的視窗大小,或不同的摺疊式裝置型態。

詳情請參閱「建構自動調整導覽」。

導覽圖示也可能因使用者設定的偏好設定或主題而異。詳情請參閱「系統資訊列圖示」。

設定導覽樣式

Android 會在手勢操作模式和按鈕模式中,處理使用者介面的視覺保護。系統會套用動態色彩調整,根據系統資訊列後方的內容,變更系統資訊列內容的顏色。

手勢操作模式

指定 Android 15 或在 Activity 上呼叫 enableEdgeToEdge 後,系統會繪製透明的手勢操作導覽列,並套用動態色彩調整。在以下範例中,如果導覽列中的控點位於淺色內容上方,則會變更為深色,反之亦然。

圖 8. 動態色彩調整。

建議一律使用透明手勢操作導覽列。

手勢操作導覽列應維持透明。
為手勢操作導覽列新增背景。

按鈕模式

指定 Android 15 或在 Activity 上呼叫 enableEdgeToEdge 後,系統會在按鈕導覽列後方套用半透明紗幕,您可以將 Window.setNavigationBarContrastEnforced() 設為 false 來移除。

圖 9. 動態色彩調整,搭配透明遮罩。

如果應用程式有底部應用程式列或底部應用程式導覽列,或者 UI 不會在三按鈕導覽列下方捲動,請使用透明的三按鈕導覽列。如要取得透明導覽列,請將 Window.setNavigationBarContrastEnforced() 設為 false,並在底部應用程式列加上邊框間距,以便在系統導覽列下方繪製,如圖 7、8 和 9 所示。詳情請參閱「系統資訊列保護」。

使用半透明的三按鈕導覽列捲動內容。如要進一步瞭解半透明導覽列的注意事項,請參閱「無邊框設計」。

鍵盤和導覽

圖 10. 螢幕小鍵盤和導覽列。

每種導覽類型都會對螢幕小鍵盤做出適當反應,讓使用者執行關閉或變更鍵盤類型等動作。為確保應用程式轉換與鍵盤從螢幕底部向上和向下滑動的轉換同步,請使用 WindowInsetsAnimationCompat。

版面配置

自動調整式版面配置可充分運用可用的顯示空間。這類版面配置會將內容移至次要或第三窗格,藉此整理應用程式 UI。

設計自動調整版面配置時,請考量系統資訊列與內容的互動方式。使用 WindowInsets,確保 UI 不會遭到系統資訊列遮蔽,例如大螢幕、摺疊式裝置,以及多視窗模式和電腦分割視窗模式中的應用程式視窗。

應用程式無邊框顯示時,請確認內容和控制項不會遭到系統 UI 遮蓋。舉例來說,如果導覽列遮住按鈕,使用者可能就無法點選按鈕。

詳情請參閱「標準版面配置」。

螢幕凹口

螢幕凹口是某些裝置上延伸至螢幕表面的區域,可為前置感應器提供空間。螢幕凹口可能因製造商而異。請考量螢幕凹口與內容、螢幕方向和無邊框設計的互動方式。

圖 11. 螢幕凹口示例。

沉浸模式

圖 12. 在橫向行動裝置上,沉浸模式會顯示全螢幕體驗。

如需全螢幕體驗,例如使用者觀看電影時,可以隱藏系統資訊列。使用者仍應能輕觸顯示系統資訊列,並瀏覽或與系統控制項互動。詳情請參閱「沉浸式內容」和「在沉浸模式下隱藏系統資訊列」。