Это мое решение:
Во-первых, определите логическое значение, указывающее, видна панель навигации или нет.
boolean navigationBarVisibility = true //because it's visible when activity is created
Второй метод создания, который скрывает панель навигации.
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;
}
По умолчанию, если вы нажмете на действие после скрытия панели навигации, панель навигации будет видна. Итак, мы получили его состояние, если оно видимо, мы его скроем.
Теперь установите OnClickListener для вашего представления. Я использую представление поверхности, поэтому для меня:
playerSurface.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setNavigationBarVisibility(navigationBarVisibility);
}
});
Также мы должны вызывать этот метод при запуске активности. Потому что мы хотим скрыть это в начале.
setNavigationBarVisibility(navigationBarVisibility);
person
PeerNet
schedule
05.09.2017