首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动隐藏状态栏,但不显示软导航键

自动隐藏状态栏,但不显示软导航键
EN

Stack Overflow用户
提问于 2015-01-11 04:04:37
回答 1查看 619关注 0票数 1

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

我试过舱单方式:

代码语言:javascript
复制
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

在再次出来之前,状态栏隐藏了半秒钟。还有,为什么我的主题不是“黑色”?它仍然是我的系统默认的白色。

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

代码语言:javascript
复制
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默认的全屏首选项。

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

是否有一种自动隐藏状态栏而不是软导航条并保持全屏模式的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-11 04:55:21

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

代码语言:javascript
复制
@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);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27883842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档