Android 設定狀態列顏色 沉浸式狀態列

2021-08-09 05:22:53 字數 1790 閱讀 3189

原文

另參考令人困惑的fitssystemwindows

而最新安卓4.4系統的通知欄沉浸模式就是在軟體開啟的時候通知欄和軟體頂部顏色融為一體,這樣不僅可以使軟體和系統本身更加融為一體。 就是手機的通知欄的顏色不再是白色、黑色簡單的兩種了,本人用的小公尺4手機,公尺4手機中的自帶軟體都支援沉浸式通知欄, 舉個例子:大家可以看一下自己的qq,它的標題的背景顏色是藍色的,那麼通知欄也會變成藍色。之前可能不行,也是最近支援了。

github上已經有大牛研究出來了,說一下怎麼實現的:

**一:

**如下:

?

1

2

3

4

5

6

if(build.version.sdk_int >= build.version_codes.kitkat)

systembartintmanager tintmanager =newsystembartintmanager(this);

tintmanager.setstatusbartintenabled(true);

tintmanager.setstatusbartintresource(r.color.statusbar_bg);//通知欄所需顏色

下面是設定通知欄的狀態

?

1

2

3

4

5

6

7

8

9

10

11

12

@targetapi(19)

privatevoidsettranslucentstatus(booleanon)else

win.setattributes(winparams);

}

這樣就可以完美實現沉浸式通知欄的。注意系統一定是在4.4以上。小夥伴們趕快來試一下吧。

**二:

?

1

2

3

4

if(build.version.sdk_int >= build.version_codes.kitkat)

然後在xml布局檔案中加入:

?

1

2

android:cliptopadding="false"

android:fitssystemwindows="true"

改變Android狀態列字型顏色和實現沉浸式狀態列

目前已知的改變android狀態列字型顏色的方法只有3種情況下可以實現,分別是手機是miui系統 魅族手機以及android6.0。改變顏色方法分別如下 改變小公尺的狀態列字型顏色為黑色,要求miui6以上 lightstatusbar為真時表示黑色字型 private void processmi...

android 設定狀態列顏色和字型顏色

這個比較完整 複製下面 通過setstatusbarbgcolor方法直接設定顏色即可,狀態列字型顏色會根據背景顏色進行改變。只支援6.0及以上版本。public void setstatusbarbgcolor colorint int color else 判斷顏色是不是亮色 param col...

Android自學 設定系統狀態列顏色

window window mainactivity.this.getwindow 取消設定透明狀態列,使 contentview 內容不再覆蓋狀態列 window.clearflags windowmanager.layoutparams.flag translucent status 需要設定這...