Android скрыть панель действий, строку состояния и элементы управления навигацией

Я пытаюсь сделать действие, которое будет полностью полноэкранным в альбомной ориентации, а строка состояния и кнопки навигации будут отображаться в портретной ориентации. Я должен иметь возможность делать это программно.

Вот как я пытался заставить приложение работать в полноэкранном режиме.

private void hideNavigationAndStatusBars(){
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); // these work only on API 21 and above

    View decorView = getWindow().getDecorView();
    int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
    decorView.setSystemUiVisibility(uiOptions);
}

Проблемы следующие:

  1. На некоторых устройствах я получаю пустую часть в верхней части экрана, которая равна высоте строки состояния, даже если строка состояния не отображается
  2. На других устройствах активность заполняет весь экран, но когда я щелкаю что-либо, появляются строка состояния и панель навигации, они изменяют размер макета, и это выглядит очень некрасиво

Чего я пытаюсь достичь:

  1. Действие должно занимать весь экран в альбомной ориентации, располагаться за строкой состояния и панелью навигации, если они появляются.

  2. Когда пользователь нажимает на экран, он должен взаимодействовать с экраном. Вместо этого при первом щелчке отображаются панели состояния и навигации, и взаимодействие возможно только после этого.

  3. Строка состояния должна появляться только тогда, когда пользователь перетаскивает сверху


person kimv    schedule 02.11.2015    source источник


Ответы (2)


чтобы скрыть панель действий, вызовите метод getActionBar (). hide ().

И чтобы сделать активность в полноэкранном режиме, вызовите этот метод requestFeature (Window.FeatureNo_Title)

person Developer_vaibhav    schedule 03.11.2015

Для этого используйте иммерсивный режим и флаг стабильности пользовательского интерфейса системы. Для получения дополнительной информации обратитесь к документу на сайте разработчика.

person adarsha nayak v    schedule 07.12.2015