我正在使用webview来加载电子书。现在当我设置一个事件来显示/隐藏状态栏时,它调整了webview的大小。显示/隐藏状态栏不应该影响活动状态
在隐藏状态栏时,它会向上推动一个活动,并在显示状态栏的同时下推活动布局。
我该如何预防?
我正在使用webview来加载电子书。现在当我设置一个事件来显示/隐藏状态栏时,它调整了webview的大小。显示/隐藏状态栏不应该影响活动状态
在隐藏状态栏时,它会向上推动一个活动,并在显示状态栏的同时下推活动布局。
我该如何预防?
您可以使用FLAG_LAYOUT_IN_SCREEN将您的活动布局设置为在Android 4.0和更低版本中使用相同的屏幕区域,当您启用FLAG_FULLSCREEN时可用。这可以防止在状态栏隐藏和显示时调整内容的大小。
在Android 4.1及更高版本上,您可以将应用程序的内容设置为显示在状态栏的后面,以便状态栏隐藏和显示时不会调整内容大小。为此,请使用SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN。
看到Hiding the Status Bar更多信息,看看Responding to UI Visibility Changes
我得到了解决,请参考下面的代码:
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);
但现在用行动起来吧另外,如果我将使用此标志,那么它会隐藏后面的状态栏 – Kanika
后面的动作栏你看到https://developer.android.com/training/system-ui/status.html链接? –