Android 显示、隐藏状态栏和导航栏

曾经终败给现在 2023-10-15 08:02 262阅读 0赞

#

控制状态栏显示,Activity的主题中配置全屏属性

  1. <item name="android:windowFullscreen">true</item>

控制状态栏显示,在setContentView之前设置全屏的flag

复制代码

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

控制状态栏显示,在任何位置通过添加和移除全屏的flag

  1. // 隐藏状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
  2. // 显示状态栏 getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

控制状态栏和导航栏显示,setSystemUiVisibility

  1. View.SYSTEM_UI_FLAG_LAYOUT_STABLE:全屏显示时保证尺寸不变。
  2. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREENActivity全屏显示,状态栏显示在Activity页面上面。
  3. View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
  4. View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏导航栏
  5. View.SYSTEM_UI_FLAG_FULLSCREENActivity全屏显示,且状态栏被隐藏覆盖掉。
  6. View.SYSTEM_UI_FLAG_VISIBLEActivity非全屏显示,显示状态栏和导航栏。
  7. View.INVISIBLEActivity伸展全屏显示,隐藏状态栏。
  8. View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
  9. View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY:必须配合View.SYSTEM_UI_FLAG_FULLSCREENView.SYSTEM_UI_FLAG_HIDE_NAVIGATION组合使用,达到的效果是拉出状态栏和导航栏后显示一会儿消失。
  10. // 全屏展示
  11. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
  12. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
  13. // 全屏显示,隐藏状态栏和导航栏,拉出状态栏和导航栏显示一会儿后消失。
  14. activity.getWindow().getDecorView().setSystemUiVisibility(
  15. View.SYSTEM_UI_FLAG_LAYOUT_STABLE
  16. | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
  17. | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
  18. | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
  19. | View.SYSTEM_UI_FLAG_FULLSCREEN
  20. | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
  21. } else {
  22. // 全屏显示,隐藏状态栏
  23. activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
  24. }
  25. }
  26. // 非全屏显示,显示状态栏和导航栏
  27. activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);

作者:YuanchaoLi
链接:https://juejin.cn/post/6844903807046909966
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

好像不咋管用 推荐看下下面这个

Android 9.0 适配——刘海屏 - 简书

发表评论

表情:
评论列表 (有 0 条评论,262人围观)

还没有评论,来说两句吧...

相关阅读