沉浸式狀態列

2021-08-21 20:08:15 字數 606 閱讀 8456

在《第一行**》中提到了一種實現方式:

使用 android:fitssystemwindows="true" 屬性來設定。不過還需要將

@android:color/transparent設定一下,將狀態列設定為透明狀態,不過android:statusbarcolor屬性是從api21開始有的,需要建立vlaues-v21目錄。不過在使用後,發現這個時將背景圖案拉伸到狀態上面。

另外一種方式是在oncreate中使用:

if (build.version.sdk_int >= 21) 

actionbar actionbar = getsupportactionbar();

這樣的效果是只有5.0及以上系統才支援,因此這裡先進行了一層if判斷,只有系統版本大於或等於5.0的時候才會執行下面的**。

接下來我們使用了system_ui_flag_layout_fullscreen和system_ui_flag_layout_stable,注意兩個flag必須要結合在一起使用,表示會讓應用的主體內容占用系統狀態列的空間,最後再呼叫window的setstatusbarcolor()方法將狀態列設定成透明色就可以了。

有篇很詳細的部落格,有需要可以看一下。沉浸式狀態列

沉浸式狀態列

1.沉浸式狀態列,向下相容到android4.4。因為5.0以後對狀態列做了新的改變,5.0及其以上可以直接在主題中設定顏色,或者呼叫window類中的setstatusbarcolor int color 來實現。2.4.4到5.0系統可以通過 windowtranslucentstatus這一特...

沉浸式狀態列

還好擼主機智,直接判斷你的android版本,根據版本設定導航欄的高度,是和尚就念經,是驢子就拉磨,下面是擼主的 true animated barstyle light content networkactivityindicatorvisible 導航欄,用的功能強大的第三方庫 native b...

沉浸式狀態列

狀態列透明方法 getwindow addflags windowmanager.layoutparams.flag translucent status 或 itemname android windowtranslucentstatus trueitem 第一種方法是在 中設定,在setcont...