【问题标题】:Status bar is hidden under fullscreen but it shows up when menu key pressed in Android状态栏在全屏下隐藏,但在 Android 中按下菜单键时会显示
【发布时间】:2014-10-20 12:02:43
【问题描述】:

我有一个包含切换全屏功能的应用程序。
使用以下代码成功切换全屏。

    if (tofull) {

        if (Build.VERSION.SDK_INT < 16) {
            Log.i("toggleFullScreen", "API<16");
            getWindow().setFlags(
                    WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        } else {
            Log.i("toggleFullScreen", "API>=16");
            View decorView = getWindow().getDecorView();
            // Hide the status bar.
            // int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
            int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
            decorView.setSystemUiVisibility(uiOptions);
        }

    } else {
        if (Build.VERSION.SDK_INT < 16) {
            Log.i("toggleFullScreen", "API<16");
            getWindow().clearFlags(
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        } else {
            Log.i("toggleFullScreen", "API>=16");
            View decorView = getWindow().getDecorView();
            // Hide the status bar.
            int uiOptions = View.SYSTEM_UI_FLAG_VISIBLE;
            decorView.setSystemUiVisibility(uiOptions);
        }
    }

切换到全屏模式后可以隐藏状态栏。

但是,当我按下硬件菜单键按钮时(我有一个选项菜单,在按下菜单键后会显示),状态栏会出现。并且状态栏不会再次隐藏

此问题存在的可能原因是什么?
任何人都可以解决它(使状态栏再次自动隐藏)?

【问题讨论】:

    标签: android menu statusbar android-fullscreen


    【解决方案1】:

    那是因为标志被清除了,你需要再次调用你的全屏函数。

    请阅读这篇文章。 https://developer.android.com/training/system-ui/immersive.html

    请注意,这仅来自 api 19。

    【讨论】:

      【解决方案2】:

      请在您的活动中覆盖此方法

      @Override
      public boolean onKeyUp(int keyCode, KeyEvent event) {
      
          if (keyCode == KeyEvent.KEYCODE_MENU) {
              Log.d(TAG,"did pressed menu button");
              return true;
          }
          return super.onKeyUp(keyCode, event);
      }
      

      这样您就可以避免在应用处于全屏模式时显示菜单。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-30
        • 1970-01-01
        • 1970-01-01
        • 2014-10-14
        • 1970-01-01
        相关资源
        最近更新 更多