首先創建壹個空項目,如下圖
可以看到狀態欄是白字黑背景, 導航欄也是白圖標黑背景
嘿嘿, 我們先把狀態欄隱藏掉,在添加壹個ImageView, 讓ImageView做背景(方便查看)
樣子如下:
將狀態欄和導航欄設置透明, 找到 Manifest.xml 文件, 在主題樣式中修改
android:statusBarColor 設置狀態欄背景色
android:navigationBarColor 同上
android:windowLightStatusBar 設置狀態欄文字色, true為深色, false為白色
android:windowLightNavigationBar 同上
android:windowTranslucentStatus 設置狀態欄半透明狀態, true為半透明, false為不透明
android:windowTranslucentNavigation 同上
最後兩個半透明狀態下面沒用, 可自己嘗試看效果
效果圖如下:
可以看到導航欄與狀態欄並沒有透明,原因是默認不能占用狀態欄空間與導航欄空間,根布局背景為白色,所有這裏顯示白色
可以通過設置 getWindow().getDecorView().setSystemUiVisibility() 來適配
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 適配狀態欄空間
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 適配導航欄空間
效果如下: