Es ist meine Lösung:
Definieren Sie zunächst einen Booleschen Wert, der angibt, ob die Navigationsleiste sichtbar ist oder nicht.
boolean navigationBarVisibility = true //because it's visible when activity is created
Zweitens erstellen Methode, die Navigationsleiste ausblenden.
private void setNavigationBarVisibility(boolean visibility){
if(visibility){
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
navigationBarVisibility = false;
}
else
navigationBarVisibility = true;
}
Wenn Sie nach dem Ausblenden der Navigationsleiste auf Aktivität klicken, wird standardmäßig die Navigationsleiste angezeigt. Wir haben also den Zustand, wenn er sichtbar ist, werden wir ihn verstecken.
Stellen Sie nun OnClickListener auf Ihre Ansicht ein. Ich benutze eine Oberflächenansicht also für mich:
playerSurface.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setNavigationBarVisibility(navigationBarVisibility);
}
});
Außerdem müssen wir diese Methode aufrufen, wenn die Aktivität gestartet wird. Weil wir es am Anfang verstecken wollen.
setNavigationBarVisibility(navigationBarVisibility)