Как я могу обнаружить наличие навигационной панели и скрыть ее?Android: обнаружение видимости навигационной панели
В моих onCreate()
я называю hideNavigationBar()
метод, чтобы скрыть панель навигации, а затем зарегистрировать слушатель, чтобы скрыть панель навигации, каждый раз, когда оно становится видимым, когда пользователь прикасается в любом месте на экране, как сообщает documentations. Когда панель навигации становится видимой после события касания, метод hideNavigationBar()
снова вызывается слушателем, но он не действует, панель все еще видна.
Это мой onCreated()
метод:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
hideNavigationBar();
View decorView = getWindow().getDecorView();
decorView.setOnSystemUiVisibilityChangeListener
(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
Toast.makeText(getApplicationContext(), "Visible", Toast.LENGTH_SHORT).show();
hideNavigationBar();
} else {
Toast.makeText(getApplicationContext(), "Not visible", Toast.LENGTH_SHORT).show();
}
}
});
}
и это мой hideNavigationBar()
метод:
private void hideNavigationBar() {
Toast.makeText(getApplicationContext(), "hideNavigationBar()", Toast.LENGTH_SHORT).show();
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}
Как я могу скрыть панель навигации каждый раз, когда он становится видимым?
Благодаря
панель действий или панель навигации? –
@AsifMujteba навигационная панель – Stephan
Возможный дубликат [Проверить навигационную панель] (http://stackoverflow.com/questions/16092431/check-for-navigation-bar) – Sufian