Android setSystemUiVisibility方法详解

转载来源:https://blog.csdn.net/QQxiaoqiang1573/article/details/79867127

前言

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

getWindow().getDecorView().setSystemUiVisibility(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版本以后有效。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/chennai1101/article/details/82978126