首先我们来了解一下几个设置沉浸式状态栏的基础属性:
1.View.SYSTEM_UI_FLAG_LOW_PROFILE:低调模式, 会隐藏不重要的状态栏图标;
2.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏导航栏;
3.View.SYSTEM_UI_FLAG_FULLSCREEN:状态栏隐藏(高度不变);
4.View.SYSTEM_UI_FLAG_LAYOUT_STABLE:保持整个View稳定, 常和控制System UI悬浮, 隐藏的Flags共用, 使View不会因为System UI的变化而重新layout;
5.View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:视图延伸至导航栏区域,导航栏覆盖在视图之上(在style中设置windowTranslucentNavigation);
6.View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN :视图延伸至状态栏区域,状态栏覆盖在视图之上(在style中设置windowTranslucentStatus);
7.View.SYSTEM_UI_FLAG_IMMERSIVE:配合2或3同时使用,假设同时设置了2和7,状态栏隐藏,此时在状态栏顶部下滑,系统清除2设置,重新唤出状态栏,导航栏同理,滑动方向为由下至上;
8.View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY:作用与7相似,但是设置并未被清楚,所以状态栏与导航栏
在被唤出3s后或再次点击时,再次隐藏。
沉浸式状态栏