【问题标题】:Auto-hide status bar but not soft navigations keys自动隐藏状态栏但不是软导航键
【发布时间】:2015-01-11 04:04:37
【问题描述】:

我是科尔多瓦的新手。 我可以同时使用 Cordova 和 Java 方法

我尝试了清单方式:

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

启动时状态栏隐藏了半秒,然后又回来了。还有,为什么我的主题不是黑色?它仍然是我系统的默认白色。

我在我的 main xxx.java 中尝试了 java 方式:

super.getActivity().runOnUiThread(new Runnable() {
    public void run() {
        View rootView = getActivity().getWindow().getDecorView().getRootView();
        int mUIFlag = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_FULLSCREEN;
        rootView.setSystemUiVisibility(mUIFlag);
    }
});

但这不是真正的全屏(由于屏幕调整大小而发生闪烁),它不是自动隐藏,当点击发生时两个栏都会重新出现。

我尝试了 Cordova 的默认全屏首选项

它还隐藏了软导航按钮,因为我不希望这种情况发生。

有没有办法自动隐藏状态栏而不是软导航栏并保持全屏模式?

【问题讨论】:

    标签: android cordova


    【解决方案1】:

    真的不是理想的方式。我进入了 Cordova 的 \src\org\apache\cordova\cordovaactivity.java 并注释掉了隐藏导航线(在我的例子中是 ln 276):

    @SuppressLint("NewApi")
    private void toggleFullscreen(Window window) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            final int uiOptions =
                      View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                  /*| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION*/
                    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                  /*| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION*/
                    | View.SYSTEM_UI_FLAG_FULLSCREEN
                  /*| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY*/;
    
            window.getDecorView().setSystemUiVisibility(uiOptions);
        } else {
            window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-03
      • 1970-01-01
      • 2014-05-26
      相关资源
      最近更新 更多