Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 状态栏显示时没有任何原因_Android_Statusbar - Fatal编程技术网

Android 状态栏显示时没有任何原因

Android 状态栏显示时没有任何原因,android,statusbar,Android,Statusbar,我有一个应用程序,在那里我以编程方式隐藏状态栏。按下弹出菜单按钮或工具栏布局后,状态栏显示为“自身”。我不知道如何防止这种情况发生。我使用KitKat,隐藏或显示状态栏的所有动作都在活动中处理 OnCreate()-在显示/隐藏后调用侦听器 statusBarView = getWindow().getDecorView(); statusBarFlag = false; statusBarView.setOnSystemUiVisibilityChangeListener(ne

我有一个应用程序,在那里我以编程方式隐藏状态栏。按下弹出菜单按钮或工具栏布局后,状态栏显示为“自身”。我不知道如何防止这种情况发生。我使用KitKat,隐藏或显示状态栏的所有动作都在活动中处理

OnCreate()-在显示/隐藏后调用侦听器

statusBarView = getWindow().getDecorView();
    statusBarFlag = false;
    statusBarView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
        @Override
        public void onSystemUiVisibilityChange(int visibility) {
            if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
                // TODO: The system bars are visible. Make any desired
                if (!statusBarFlag){
                    hideStatusBar();
                }
            }
        }
    });
OnResume()

OnWindowFocusChanged()

显示/隐藏方法

private void hideStatusBar(){
    statusBarFlag=false;
    statusBarView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}
private void showStatusBar(){
    statusBarFlag=true;
    statusBarView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE
            | View. SYSTEM_UI_FLAG_LAYOUT_STABLE
              | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
}
其中statusBarFlag=fale表示条形图不可见,而在此处为true。
我正在使用它将状态栏的状态与弹出菜单中的“我的触发器(项目)”复选框同步。

Hi murt,你能告诉我你主要活动的完整代码吗,在它里面,我实现了由视图寻呼机(也就是子片段)组成的片段。
    public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if(hasFocus){
        if(statusBarFlag)
            showStatusBar();
    } else {
        hideStatusBar();
    }
private void hideStatusBar(){
    statusBarFlag=false;
    statusBarView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}
private void showStatusBar(){
    statusBarFlag=true;
    statusBarView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE
            | View. SYSTEM_UI_FLAG_LAYOUT_STABLE
              | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
}