Ich erstelle eine Kamera-App mit einem Popup-Menü für einige Kameraeinstellungen. Das Problem ist, wenn ich auf die Schaltfläche klicke, die das Popup-Menü anzeigt, erscheint die untere Navigationsleiste. Ich habe schon online nach einer Lösung gesucht, aber bisher hat mir noch nichts geholfen.Navigationsleiste erscheint auf PopupMenu im Immersive-Modus
mChangeSettingsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final PopupMenu changeSettingsPopupMenu = new PopupMenu(Camera2VideoImageActivity.this, mChangeSettingsButton) {
@Override
public void show() {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
super.show();
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
}
};changeSettingsPopupMenu.getMenuInflater().inflate(R.menu.change_setting_popup_menu, changeSettingsPopupMenu.getMenu());
SubMenu changeImageResolutionSubMenu = changeSettingsPopupMenu.getMenu().addSubMenu(0, 100, 0, "Set Image Resolution ");
SubMenu changeVideoResolutionSubMenu = changeSettingsPopupMenu.getMenu().addSubMenu(0, 101, 0, "Set Video Resolution");
changeSettingsPopupMenu.show();
}
ich dies auch auf meine Hauptaktivität:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
<iframe src="https://giphy.com/embed/3oKIPh2W4bEQrGzmqQ" width="272" height="480" frameBorder="0" class="giphy-embed" allowFullScreen></iframe><p><a href="https://giphy.com/gifs/3oKIPh2W4bEQrGzmqQ">via GIPHY</a></p>
GIF, was passiert: http://gph.is/2rjPdny
EDIT: Dank Hitesh Gehlot für die Antwort! Ich verstehe das, wenn ich es versuche. This didn't work, Click to view image
Danke für die Antwort! Ich habe das versucht, aber ich habe "kann getWindow() nicht auflösen". Bitte überprüfen Sie meine Bearbeitung auf dem ursprünglichen Post für den Screenshot. –