フルスクリーンの切り替え機能を含むアプリがあります。
次のコードを使用して、フルスクリーンの切り替えに成功しました。
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);
}
}
フルスクリーンモードに切り替えた後、ステータスバーを非表示にすることができます。
ただし、ハードウェア メニュー キーボタンを押すと (メニュー キーを押した後に表示されるオプション メニューがあります)、ステータス バーが出てきます。またステータスバーが隠れなくなりました。
この問題が存在する理由として考えられるものは何ですか?
誰かがそれを解決できますか(ステータスバーを自動的に非表示にします)?