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