Android setSystemUiVisibility方法详解

前言

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

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

默认显示状态栏和导航栏,SYSTEM_UI_FLAG_VISIBLE
image

  1. SYSTEM_UI_FLAG_LOW_PROFILE
    低调模式,隐藏不重要的状态栏图标,导航栏中相应的图标都变成了一个小点。点击状态栏或者导航栏还原成正常的状态。
    image
  2. SYSTEM_UI_FLAG_HIDE_NAVIGATION
    隐藏导航栏,点击屏幕任意区域,导航栏将重新出现。
    image
  3. SYSTEM_UI_FLAG_FULLSCREEN
    隐藏状态栏,从状态栏位置下拉,状态栏将重新出现。
    image
  4. SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
    将布局内容拓展到导航栏和状态栏的后面。
    image
  5. SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
    将布局内容拓展到状态栏的后面。
    image
  6. SYSTEM_UI_FLAG_LAYOUT_STABLE
    稳定布局,需要配合SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION和SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN使用,同时设置布局的android:fitsSystemWindows属性。

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

  1. SYSTEM_UI_FLAG_IMMERSIVE_STICKY
    效果同SYSTEM_UI_FLAG_IMMERSIVE,当用户上下拉状态栏或者导航栏时,这些系统栏会以半透明的状态显示,并且在一段时间后消失。
    image
  2. SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
    设置状态栏的颜色,6.0版本以后有效。
    image

转自:
Android setSystemUiVisibility方法详解

原文地址:https://www.cnblogs.com/sishuiliuyun/p/15696741.html