簡單的實現沉浸式狀態列

2021-08-21 11:57:30 字數 1043 閱讀 4242

沉浸式對我們來說是和熟悉了,專案中已經很成熟了,之前一直沒整理關於沉浸式的東西,今天整理了下,以後基本可以直接用到專案裡了。

android:windowtranslucentstatus這一屬性,設定為true則狀態列變透明(4.4以上手機),如果不做任何處理,標題欄會將狀態列覆蓋,顯示出現混亂。

android:fitssystemwindows這一屬性。設定為true讓activity 中setcontentview的布局不覆蓋狀態列(即相當於給狀態列設定了padding),這個屬性要在根布局中使用,如果同時設定了

true

true

則狀態列透明,標題欄不會覆蓋狀態列。

如果不考慮相容4.4可以直接在5.0 以上直接通過style.xml

@color/colorprimarydark設定狀態列顏色,如果考慮相容4.4則還需在style.xml 中設定
true讓狀態列透明。然後在狀態列放乙個view,長在4.4以上為25dp,以下為0dp,寬為match_parent,背景色設定為colorprimarydark(或者其他你想狀態列顯示的顏色)。
自己寫乙個標題欄的layout布局(以後用都可以include引用),在該布局中新增如下**

這個用來填充狀態列,如果想設定半透明等效果可以放張imageview。

高度引用在4.4以上為25dp,以下為0dp。

所以只需要在res下新建乙個values-v19包新增styles和dimens兩個xml檔案

裡加上

true

//dimens裡加上

25dp

然後在需要標題欄的地方include標題欄布局檔案,不需要的地方通過android:windowtranslucentstatusandroid:fitssystemwindows兩個屬性設定即可以滿足日常開發需求。

希望可以幫到跟多碼農

實現沉浸式狀態列

android從4.4的版本開始,就可以自己來定義狀態列的顏色了,下面,我們來看一下實現方式 1 沉浸式狀態列的實現方式 設定狀態列的顏色 分為兩種情況 1 當當前sdk版本在5.0及其以上版本中,直接設定狀態列顏色就可以 有對應的方法 2 當當前sdk版本在4.4到5.0之間時,則需要向設定當前狀...

Android 實現簡單沉浸式狀態列

網上搜過很多安卓沉浸式狀態列,需要改動很多東西,不同版本的改動也不同,為了省 去麻煩,這裡提供乙個工具類,直接呼叫即可。在oncreate方法裡面只要呼叫一句話。new systemstatusmanager this settranslucentstatus r.color.titlered 設定...

沉浸式狀態列的實現

public class setstatusbartranslucent method setstatusbarcolor.invoke activity.getwindow 0x00000000 catch nosuchmethodexception e catch illegalargument...