我有一个包含切换全屏功能的应用程序。
使用以下代码切换全屏效果确实成功。
状态栏隐藏在全屏下,但在Android中按下菜单键时显示状态栏
if (tofull) {
if (Build.VERSION.SDK_INT < 16) {
Log.i("toggleFullScreen", "API<16");
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
Log.i("toggleFullScreen", "API>=16");
View decorView = getWindow().getDecorView();
// Hide the status bar.
// int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);
}
} else {
if (Build.VERSION.SDK_INT < 16) {
Log.i("toggleFullScreen", "API<16");
getWindow().clearFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
Log.i("toggleFullScreen", "API>=16");
View decorView = getWindow().getDecorView();
// Hide the status bar.
int uiOptions = View.SYSTEM_UI_FLAG_VISIBLE;
decorView.setSystemUiVisibility(uiOptions);
}
}
它可以隐藏状态栏后切换到全屏模式。
然而,当我按下硬件菜单键按钮(我有一个选项菜单,将按下菜单键后显示出来),该状态栏出来。而状态栏不会再隐藏。
这个问题存在的可能原因是什么?
任何人都可以解决它(使状态栏自动再次隐藏)?