Установите для фрагмента значение FullScreen при использовании компонента навигации - Android
Недавно я преобразовал свое приложение в архитектуру Single Activity и попытался установить один конкретный фрагмент в полноэкранный режим. Стандартный полноэкранный код активности не работает для фрагментов
final int flags =
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;
Я нашел этот Android-набор в полноэкранном режиме из фрагмента . Но установка его на FLAG_LAYOUT_NO_LIMITS заставляет PagerSnapHelper во фрагменте "прыгать" при переключении между FLAG_LAYOUT_NO_LIMITS и его отмене.
Итак, мой вопрос: есть ли другой способ установить фрагмент в полноэкранный режим без использования FLAG_LAYOUT_NO_LIMITS.
Ответы
Вам никогда не нужно использовать FLAG_LAYOUT_NO_LIMITS
или применять fitsSystemWindows="true"
глобально на уровне активности - это то, что помешает вашему фрагменту перейти в полноэкранный режим. Вместо этого добавляйте только fitsSystemWindows
фрагменты / отдельные компоненты, которые в противном случае перекрывали бы строки состояния / системы. Это гарантирует, что ваш полноэкранный фрагмент сможет занимать весь размер и не будет вставлен по краям.