調暗系統列 (已淘汰)

本課程將說明如何調暗系統資訊列 (也就是狀態和導覽列) 列)。Android 並未提供在 系統資訊列。

使用這個方法時,系統不會調整內容大小,只會調整系統資訊列上的圖示 視覺提示使用者輕觸 螢幕上的兩側就會完全顯示這種格式的優點 做法是依然存在,但細節會模糊不清, 想要打造沉浸式體驗,而不犧牲前往酒吧的權利,打造身歷其境的體驗。

將狀態和導覽列調暗

您可以使用 SYSTEM_UI_FLAG_LOW_PROFILE 標記,如下所示:

Kotlin

// This example uses decor view, but you can use any visible view.
activity?.window?.decorView?.apply {
    systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE
}

Java

// This example uses decor view, but you can use any visible view.
View decorView = getActivity().getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE;
decorView.setSystemUiVisibility(uiOptions);

使用者輕觸狀態或導覽列後,標記就會清除。 導致長條出現不當清除標記後,應用程式就需要重設 就可以再把長條調暗。

圖 1 顯示導覽列調暗的圖庫圖片 (請注意,「圖片庫」應用程式) 會完全隱藏狀態列;就不會調暗。請注意,導覽列 (右側) 圖片的一側) 上出現淺色白色圓點,代表導覽控制項:

系統資訊列

圖 1. 系統資訊列會變暗。

圖 2 顯示同一圖庫圖片,但顯示系統資訊列:

系統資訊列

圖 2. 螢幕上顯示的系統資訊列。

顯示狀態和導覽列

如要透過程式清除使用 setSystemUiVisibility(),你可以這麼做 如下所示:

Kotlin

activity?.window?.decorView?.apply {
    // Calling setSystemUiVisibility() with a value of 0 clears
    // all flags.
    systemUiVisibility = 0
}

Java

View decorView = getActivity().getWindow().getDecorView();
// Calling setSystemUiVisibility() with a value of 0 clears
// all flags.
decorView.setSystemUiVisibility(0);