Android 显示/隐藏状态栏不应影响活动状态

Android 显示/隐藏状态栏不应影响活动状态,android,statusbar,Android,Statusbar,我正在使用webview在活动中加载电子书。现在,当我将事件设置为显示/隐藏状态栏时,它会调整webview的大小 隐藏状态栏时,它向上推送活动;显示状态栏时,它向下推送活动布局 如何防止这种情况发生?您可以使用设置活动布局,以使用Android 4.0及更低版本上启用后可用的相同屏幕区域。这将防止在状态栏隐藏和显示时调整内容的大小 在Android 4.1及更高版本上,您可以将应用程序的内容设置为显示在状态栏后面,这样,内容就不会随着状态栏的隐藏和显示而调整大小。为此,请使用 请参阅以了解更多

我正在使用webview在活动中加载电子书。现在,当我将事件设置为显示/隐藏状态栏时,它会调整webview的大小

隐藏状态栏时,它向上推送活动;显示状态栏时,它向下推送活动布局

如何防止这种情况发生?

您可以使用设置活动布局,以使用Android 4.0及更低版本上启用后可用的相同屏幕区域。这将防止在状态栏隐藏和显示时调整内容的大小

在Android 4.1及更高版本上,您可以将应用程序的内容设置为显示在状态栏后面,这样,内容就不会随着状态栏的隐藏和显示而调整大小。为此,请使用


请参阅以了解更多信息,并参阅

我得到了解决方案,请参阅以下代码:

private void setNavVisibility(boolean visible) {

    int newVis = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
    //In case of visibility false, hide status bar, action bar and bottom layout
    if (!visible) {
        newVis |= View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN;
        relativeLayoutBottom.startAnimation(fadeOut);
    }
    else
        relativeLayoutBottom.startAnimation(fadeIn);
    rootView.setSystemUiVisibility(newVis);
}
然后单击事件,调用

   int curVis = rootView.getSystemUiVisibility();

   setNavVisibility((curVis&View.SYSTEM_UI_FLAG_LOW_PROFILE) != 0);

但我也在使用动作栏,所以如果我使用这个标志,它会将动作栏隐藏在状态栏后面