Панель навигации андроид как скрыть

Панель навигации

В Android 4.0 (точнее в Android 3.0) появилась новая панель навигации. Рассмотрим несколько примеров взаимодействия с этой панелью. Как включить панель навигации в эмуляторе написано здесь.

Следует обратить внимание на следующие вещи. Первое — поведение панели навигации на планшетах под управлением Android 3.0 немного отличается от панели навигации для устройств под управлением Android 4.0 и представленный код может не работать. Второй момент — многие брендированные телефоны имеют собственную прошивку, в которой не предусмотрена панель навигации. Яркий пример — мой Galaxy SII. Учитывайте эти факты при разработке своих приложений.

Прячем системные кнопки навигации

Чтобы скрыть системную панель навигации с кнопками Home, Back, можно использовать код:

Этот способ подойдёт для игр, читалок и прочих приложений, где системная панель занимает лишнее пространство. Панель не удаляется, а просто скрывается из виду. Когда пользователь нажмёт на экран в той позиции, где находится данная панель, то она автоматически появится.

Прячем или затемняем панель навигации

Способов управления панелью навигации не так уж и много. Точнее их всего три. Мы можем скрыть панель или затемнить её (рекомендуется использовать в играх, чтобы не отвлекала). Управляется поведение панели при помощи метода setSystemUiVisibility(), который применим к элементам View. Например, мы можем запустить приложение с скрытой панелью, но как только мы коснёмся экрана (приложение получит фокус), то панель сразу появится. Для эффекта затемнения мы приготовим кнопку. Третий способ показа панели использовать не будем, так как она и так появляется без явного вызова метода.

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

В результате, при запуске панель будет скрыта, при нажатии на экран панель появится, а при щелчке на кнопку панель станет менее заметной.

Если говорить о затемнении, то приглушается не только панель навигации, но и строка состояния над заголовком, чтобы усилить фокус на самом приложении. Перепишем код для включения/выключения эффекта

Сначала мы узнаём текущие настройки с помощью метода getSystemUiVisibility(), а затем устанавливаем новые настройки.

Кстати, вы заметили, что на картинке два кота? Эх, вы. (источник)

При затемнении и скрытии мы использовали элемент ImageView в качестве компонента, который управляет флагами видимости. Сейчас в официальной документации используется другой пример, когда используется объект View, получаемый через метод getWindow().getDecorView(), хотя в комментариях говорится, что можно использовать и старый способ. Сейчас мы рассмотрим этот пример, заодно покажу, как сбросить все флаги. Для примера достаточно двух кнопок.

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

Прячем строку состояния

Отталкиваясь от последнего примера, рассмотрим случай, когда мы хотим скрыть строку состояния, чтобы получить приложение на весь экран. Для этого нам нужно использовать флаг SYSTEM_UI_FLAG_FULLSCREEN. Такой способ рекомендуется использовать на Android 4.1 и выше. Пример для старых версий описывать не буду, ищите в документации.

После нажатия на кнопку, самая верхняя полоска исчезнет и заголовок приложения сдвинется вверх.

Если хотите скрыть и заголовок приложения, то добавьте ещё две строчки кода:

Можно объединять флаги, например, можем скрыть панель навигации и строку состояния одновременно:

Следует помнить, что любое нажатие в области экрана заставит появиться панель навигации и строку состояния снова. Также имейте в виду, что когда пользователь нажмёт на кнопку HOME, а потом вернётся в ваше приложение, то панель и строка состояния будут видны, если вы расположение метод скрытия в метод onCreate(), который просто не сработает при возвращении. Поэтому используйте методы onResume() или onWindowFocusChanged().

Перекрыть разметку

По умолчанию Панель действий размещается в верхней части активности, а сама разметка активности находится под панелью. Можно переопределить это поведение, когда панель будет накладываться на разметку:

Источник

Как убрать навбар (панель навигации) с экрана Android 10 (Без Root)

В операционной системе Android 10 компания Google заметно усовершенствовала систему управления интерфейсом с помощью жестов, а также расширила свободное место на экране смартфонов в режиме одних жестов за счет уменьшения высоты панели навигации (навбвра). А можно ли вообще убрать эту панель?

Читайте также:  Puzzle english для андроид

Если вы считаете, что навбар в виде узкой полоски вам в режиме управления одними жестами не нужен, то сегодня мы хотим рассказать вам о том, как скрыть панель навигации на Android 10 устройствах.

Само собой, вам для этого нужно будет включить режим управления с помощью жестов. Это можно в меню настроек системы, в раздел «Система» -> «Жесты».

Скрываем панель навигации в Android 10

После этого можно приступать:

1. Прежде всего скачать на свой компьютер или ноутбук программу ADB. Раньше она шла в составе Google SDK, но с некоторых пор вы можете скачать её на свой компьютер отдельно.

Скачать ADB (вместе с Fastboot) от Google вы можете с официального сайта компании по следующим ссылкам:

2. Чтобы ваш смартфон смог работать с программой ADB (и Fastboot) вам нужно в меню настроек его системы, в скрытом разделе «Для разработчиков» включить режим отладки через USB. Как его найти и включить читайте в этом материале.

4. Подключите ваш смартфон к компьютеру через USB, перейдите на компьютере в папку, в которую вы поместили программ ADB, и запустите окно командной строки Windows. Для этого в адресной строке Проводника введите cmd и нажмите «Enter».

5. В окне командной строки выполните команду:

Если ранее вы все сделали правильно, то ADB сообщит вам о том, что телефон или планшет, подключен к ПК, а на экране мобильного устройства появится предложение разрешить отладку с этого компьютера. Разрешите её нажав на кнопку ОК.

6. Теперь вам нужно узнать тип экрана вашего смартфона: Full HD (1080p) или QHD (1440p). Если оно вам неизвестно, вы можете воспользоваться приложением Displayinfo, о котором мы писали в этой статье.

Вам потребуется первое число из параметра «Physical resolution»:

7. В зависимости от типа экрана в окне командной строки выполните одну из следующих команд:

1080:

adb shell wm overscan 0,0,0,-45

1440:

adb shell wm overscan 0,0,0,-105

Эта команда сместит панель навигации (навбар) вниз на 45 или 105 пикселей, соответственно, благодаря чему она скроется под нижним краем экрана. На разных моделях смартфонов значения могут колебаться в некоторых пределах, поэтому не бойтесь экспериментировать.

8. Если вы захотите вернуть навбар назад, вам нужно будет всего лишь выполнить следующую команду:

Источник

Как навсегда скрыть панель навигации в активности Android?

Как скрыть строку состояния и панель навигации | Android-студия

Я хочу постоянно скрывать панель навигации в своей деятельности (а не в пользовательском интерфейсе всей системы). теперь я использую этот кусок кода

Он скрывает панель, но когда пользователь касается экрана, она снова отображается. есть ли способ скрыть это навсегда до активности onStop() ;

  • 1 возможный дубликат постоянно скрывать панель навигации при активности
  • Здесь, по этой официальной ссылке Google / Android, изложено много хороших и конкретных деталей: Включить полноэкранный режим.
  • Флаг автоматически сбрасывается, когда пользователь касается экрана в соответствии с документацией. Вы должны внести изменения в свой дизайн пользовательского интерфейса, чтобы все время скрывать панель навигации.

Фрагменты:

Это для Android 4.4+

Попробуйте иммерсивный режим https://developer.android.com/training/system-ui/immersive.html

Быстрый фрагмент (для Деятельность класс):

Если при нажатии кнопки увеличения или уменьшения громкости возникают проблемы, отображается панель навигации. Я добавил код в onCreate см. setOnSystemUiVisibilityChangeListener

Вот еще один связанный с этим вопрос:

Навигация в режиме погружения становится липкой после нажатия кнопки громкости или минимизации-восстановления

  • 4 Когда пользователь проводит пальцем вверх / вниз по экрану, полупрозрачные панели навигации временно появляются, а затем снова скрываются. МОЖНО ЛИ ЭТО СКРЫТЬ?
  • @KarthickRamu Я нашел способ, просто посмотрите на мой ответ 🙂
  • 1 @MuhammedRefaat Для вашей подсказки требуется устройство с root-доступом 🙁
  • 1 @DawidDrozd Спасибо, но у меня проблема. Корневой макет моей активности — RelativeLayout, и у него есть дочернее представление, для которого установлено android: layout_alignParentBottom = «true», панель навигации исчезает, но дочернее представление не перемещается вниз край экрана, как будто панель навигации установлена ​​на невидимку, не исчезла, не могли бы вы помочь?
  • 1 Если вы хотите использовать пространство, занимаемое панелью навигации, необходимо удалить все вхождения android:fitsSystemWindows=’true’ с ваших взглядов. Android Studio включает этот атрибут при создании некоторых макетов. См. Stackoverflow.com/a/42501330/650894

Это работает на 100%, и вы можете сделать то же самое для более низких версий API, даже если это запоздалый ответ, я надеюсь, что это поможет кому-то другому.

Если вы хотите, чтобы это было навсегда, просто позвоните FullscreenCall() внутри твоего onResume() метод.

  • 2 Я рекомендую взглянуть на developer.android.com/training/system-ui/immersive.html, где объясняется, что ваш метод просто скрывает панель до тех пор, пока не произойдет взаимодействие, и снова вскоре после завершения взаимодействия.
  • Большое вам спасибо — вот и все! : D: +1
Читайте также:  Android icons icon pack

Для людей, ищущих более простое решение, я думаю, вы можете просто добавить эту строку кода в onStart()

Это называется иммерсивным режимом. Вы можете посмотреть официальную документацию, чтобы узнать о других возможностях.

Согласно сайту разработчика Android

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

Однако вы можете сделать одну уловку. Заметьте, это уловка.

Просто когда navigation bar появляется, когда пользователь касается экрана. Немедленно снова спрячьте это. Это весело.

Проверь это.

См. Это для получения дополнительной информации об этом ..

Скрыть системную панель в планшетах

В планшетах под управлением Android 4+ скрыть панель системы / навигации невозможно.

SYSTEM_UI_FLAG_HIDE_NAVIGATION — это новый флаг, который запрашивает полное скрытие панели навигации. Имейте в виду, что это работает только для панели навигации, используемой некоторыми телефонами (она не скрывает системную панель на планшетах).

Это мое решение:

Сначала определите логическое значение, которое указывает, отображается ли панель навигации или нет.

Второй метод создания, скрывающий панель навигации.

По умолчанию, если вы щелкнете действие после скрытия панели навигации, панель навигации будет видна. Итак, у нас есть состояние, если оно видно, мы его скроем.

Теперь установите OnClickListener на свое представление. Я использую Surfaceview, поэтому для меня:

Также мы должны вызывать этот метод при запуске активности. Потому что мы хотим скрыть это вначале.

Это проблема безопасности: https://stackoverflow.com/a/12605313/1303691

поэтому невозможно навсегда скрыть навигацию на планшете одним единственным вызовом в начале создания представления. Он будет скрыт, но всплывет при касании экрана. Таким образом, всего лишь второе прикосновение к экрану может вызвать событие onClickEvent в макете. Поэтому вам нужно перехватить этот вызов, но я еще не успел это сделать, я обновлю свой ответ, когда узнаю об этом. Или вы уже ответили?

Я думаю, что код удара поможет вам, и добавьте этот код перед setContentView ()

Добавьте этот код за setContentView () getWindow (). GetDecorView (). SetSystemUiVisibility (View.SYSTEM_UI_FLAG_LOW_PROFILE);

  • 1 Поле требует API уровня 21+
  • НЕТ, это даст мне тот же результат

Думаю, этот код решит вашу проблему. Скопируйте и вставьте этот код в свой MainActivity.java

Он будет работать на Android-10. Надеюсь, это поможет.

В других ответах в основном используются флаги для setSystemUiVisibility() метод в View . Однако этот API устарел с Android 11. Дополнительные сведения см. В моей статье об изменении видимости пользовательского интерфейса системы. В статье также объясняется, как правильно обрабатывать вырезки или как прислушиваться к изменениям видимости.

Вот фрагменты кода для отображения / скрытия системных панелей с новым API, а также устаревшим для обратной совместимости:

Источник

Как скрыть навигационную панель в Android-устройствах

Многие гаджеты под управлением OS Android сегодня лишены аппаратных кнопок навигации. Разработчики девайсов стремятся увеличить диагональ дисплея, но при этом сохранить небольшой размер самого гаджета, поэтому навигационная панель во многих смартфонах и планшетах реализуется программно. Она занимает часть дисплея, которую можно было бы использовать для игр или просмотра информации, но её легко можно убрать — об этом далее.

GMD Full Screen Immersive Mode

Простая утилита, которая настраивается за несколько кликов. Позволяет спрятать навигационную панель, освободив пространство на дисплее гаджета под нужды пользователя. Не требует root-прав, в отличие от большинства остальных, но и не всегда стабильно работает.

  • скрывает навигационную панель, а также панель состояния вверху дисплея;
  • может подстраиваться под каждое конкретное приложение, обеспечивая полноэкранный режим в любой программе;
  • панели «прячутся» под соответствующий край дисплея, а их триггер может настраиваться пользователем по своему усмотрению;
  • настройки отображения для каждого приложения можно регулировать через панель в шторке уведомлений.
  • не требует root-прав;
  • устанавливает базовую навигационную панель OS Android, за счёт чего не ухудшается быстродействие системы;
  • индивидуально настраивается для каждого приложения, установленного в системе, в платной версии.
  • не всегда стабильно работает, в некоторых приложениях блокирует работу тачскрина;
  • не позволяет использовать клавиатуру для ввода в полноэкранном режиме.

После установки и запуска приложения в меню выбрать пункт «General», затем включить «Start on Boot» (для запуска при загрузке системы) и «Notification» (для отображения панели в шторке уведомлений);

Запустить стороннее приложение, открыть шторку и выбрать в панели GMD режим работы.

Fulscrn Free

Приложение полностью скрывает с экрана панель навигации и панель состояния, освобождая всё пространство дисплея. Обе панели разворачиваются после свайпа сверху или снизу дисплея. Утилита не требует root-прав и отлично работает с Android 6 Marshmallow.

  • полностью скрывает панели состояния и навигации с экрана;
  • отображается в шторке уведомлений, что позволяет в любой момент включать и выключать полноэкранный режим в любом приложении;
  • в платной версии можно отключать скрытие панели состояния в полноэкранном режиме, а также включать автозапуск fullscreen-режима при активизации дисплея или оставлять дисплей активным при работающем приложении.
  • готово к использованию «из коробки», не требует root-прав;
  • не нагружает систему и работает максимально стабильно даже на Android 6 Marshmallow;
  • постоянно обновляется и дорабатывается создателями;
  • легко включается/выключается через панель в шторке уведомлений.
  • в бесплатной версии всегда скрывается статус-бар в полноэкранном режиме, а также присутствует реклама и не работают некоторые функции;
  • в полноэкранном режиме не работает физическая кнопка «назад» (если она есть), а также не запускается экранная клавиатура;
  • нет настройки автозапуска полноэкранного режима для заданных приложений.
Читайте также:  Save для vice city android

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

Full!screen

Приложение, которое отличается от двух приведённых выше, поскольку оно изменяет вид панели навигации, превращая её в две отдельные кнопки по бокам гаджета. Требует наличия root-прав для работы. Работает стабильно, постоянно обновляется и дорабатывается.

  • превращает панели навигации и состояния в две отдельные кнопки;
  • позволяет настраивать содержимое кнопок и их местоположение;
  • имеет огромное количество параметров для точной настройки, за счёт чего для каждого движения пальцем по экрану можно предусмотреть своё действие.
  • можно превращать панели как в отдельные кнопки, так и в радиальные меню по бокам девайса, в которых будет содержаться несколько кнопок;
  • в платной версии можно выбрать приложения, для которых полноэкранный режим включится автоматически;
  • не скрывает полностью панели с дисплея гаджета, что упрощает работу с ним для посторонних людей;
  • можно настроить отображение полноценной панели по свайпу.
  • в некоторых приложениях «ползёт» разметка — отрисовка кнопок не соответствует их реальному положению;
  • всегда скрывается статус-бар вместе с панелью навигации.

После установки приложения панели навигации и состояния превращаются в две кнопки по углам дисплея, изменить назначение и функции которых можно через настройки Full!screen.

GMD Auto Hide Soft Keys

Утилита, аналогичная по функциям Fulscrn Free. Позволяет скрывать панели навигации и состояния. В шторке уведомлений есть панель, в которой в 1 клик можно выбрать разные комбинации скрытия/отображения панелей. Требует наличия root-прав, не очень стабильно работает на Android 6.

  • отображает в полноэкранном режиме на месте панелей небольшие триггеры;
  • имеет большой «арсенал» настроек: можно изменять размер панели управления в шторке уведомлений, настраивать расположение и размер триггера, добавлять приложение в автозагрузку и другое;
  • очень похоже на GMD Full Screen Immersive Mode по функциям, вот только работает стабильнее;
  • в платной версии можно отключать отображение триггера и панели в шторке уведомлений.
  • гибкие настройки, особенно в полной версии;
  • функциональная панель в шторке уведомлений, которая позволяет выбирать один из 4 режимов отображения (у Fulscrn Free там доступен только переключатель вкл/выкл);
  • минимальные ограничения в бесплатной версии по сравнению с платной.
  • плохая работа с Android 6 Marshmallow;
  • для работы необходимо наличие root-прав;
  • обязательное отображение триггера в бесплатной версии;
  • отсутствие обновлений от производителя после 2015 года.

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

Hide System Bar (Full Screen)

Приложение работает в двух режимах: обычный не требует наличия root-прав и подразумевает временное скрытие системных панелей, а супер-режим работает только при наличии root-доступа и используется для постоянного скрытия виртуальных панелей.

в обычном режиме:

  • быстрое переключение между полноэкранным режимом и стандартным;
  • скрытие панели уведомления;
  • создание виджета для переключения режимов;
  • скрывание системных панелей в момент загрузки.
  • весь функционал обычного режима, вот только панели здесь не просто скрываются, а могут ещё и использоваться;
  • подмена реальной панели навигации на виртуальную, которая открывается после свайпа снизу.
  • работает как при наличии root-прав, так и без них, правда имеет немного разный функционал;
  • минимум настроек и достаточно стабильная работа на Android 4.0-4.4;
  • возможность переключения режимов отображения одной кнопкой на рабочем столе.
  • в нормальном режиме можно только скрывать панели, они не отображаются при свайпах и не могут использоваться до момента выключения полноэкранного режима;
  • плохо работает на версиях Android выше 4.4;
  • не обновлялось с 2014 года;
  • не всегда отображает экранную клавиатуру в полноэкранном режиме.

Сразу после установки приложение запускается, в настройках выставляется режим отображения и создаётся виджет на рабочем столе, через который и переключаются режимы в будущем.

Источник

Оцените статью