前言

通过setSystemUiVisibility(int)方法,改变状态栏或者其他系统UI的可见性。

getWindow().getDecorView().setSystemUiVisibility(int visibility);

默认显示状态栏和导航栏,SYSTEM_UI_FLAG_VISIBLE
在这里插入图片描述

1. SYSTEM_UI_FLAG_LOW_PROFILE

低调模式,隐藏不重要的状态栏图标,导航栏中相应的图标都变成了一个小点。点击状态栏或者导航栏还原成正常的状态。
在这里插入图片描述

2. SYSTEM_UI_FLAG_HIDE_NAVIGATION

隐藏导航栏,点击屏幕任意区域,导航栏将重新出现。
在这里插入图片描述

3. SYSTEM_UI_FLAG_FULLSCREEN

隐藏状态栏,从状态栏位置下拉,状态栏将重新出现。
在这里插入图片描述

4. SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

将布局内容拓展到导航栏和状态栏的后面。
在这里插入图片描述

5. SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

将布局内容拓展到状态栏的后面。
在这里插入图片描述

6. SYSTEM_UI_FLAG_LAYOUT_STABLE

稳定布局,需要配合SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATIONSYSTEM_UI_FLAG_LAYOUT_FULLSCREEN使用,同时设置布局的android:fitsSystemWindows属性。

未使用SYSTEM_UI_FLAG_LAYOUT_STABLE的效果。
在这里插入图片描述
使用SYSTEM_UI_FLAG_LAYOUT_STABLE的效果。
在这里插入图片描述

7.SYSTEM_UI_FLAG_IMMERSIVE

配合SYSTEM_UI_FLAG_HIDE_NAVIGATIONSYSTEM_UI_FLAG_FULLSCREEN使用,使状态栏和导航栏真正的进入沉浸模式。点击屏幕任意区域,不会退出全屏模式,只有用户上下拉状态栏或者导航栏时才会退出。

8. SYSTEM_UI_FLAG_IMMERSIVE_STICKY

效果同SYSTEM_UI_FLAG_IMMERSIVE,当用户上下拉状态栏或者导航栏时,这些系统栏会以半透明的状态显示,并且在一段时间后消失。
在这里插入图片描述

9. SYSTEM_UI_FLAG_LIGHT_STATUS_BAR

设置状态栏的颜色,6.0版本以后有效。
在这里插入图片描述

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐