You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android Studio开发的App中隐藏状态栏?

Android状态栏隐藏失效的解决方法
  • 检查主题兼容性
    如果你使用的是AppCompat系列主题(如Theme.AppCompat.Light.DarkActionBar),仅设置windowFullscreen或FLAG_FULLSCREEN可能不生效。需要先移除ActionBar,再配置全屏:

    • 代码方式:
      // 隐藏ActionBar
      getSupportActionBar().hide();
      // 设置全屏标志
      getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
      
    • 主题配置方式:
      <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
          <item name="android:windowFullscreen">true</item>
      </style>
      
  • 适配Android 11及以上版本
    高版本系统需结合沉浸式标志,防止状态栏自动恢复显示:

    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN 
            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY 
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
    

    SYSTEM_UI_FLAG_IMMERSIVE_STICKY可让状态栏在用户滑动触发后自动重新隐藏,维持全屏状态。

  • 排查Activity配置冲突

    • 检查android:windowSoftInputMode设置,adjustResize等参数可能强制唤起状态栏,需避免此类冲突。
    • 排查生命周期方法(如onResume)中是否有代码重置了窗口标志,导致全屏设置被覆盖。
  • 旧版本API兼容处理
    针对API 19以下的系统,可尝试以下代码:

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    

内容的提问来源于stack exchange,提问作者Samvel Hovhannisyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 20:40:08