Совсем недавно поменяли смартфон и обнаружили, что значки на его навигационной панели расположены противоположным образом по сравнению с вашим старым гаджетом? Как быть в такой ситуации, ведь вы уже привыкли к старому расположению сенсорных кнопок, а перестраиваться на новый лад было бы затруднительно!
Хотя устройства Android не располагают обширными настройками навигационной панели, вы всегда можете скрывать и сортировать расположенные на ней виртуальные кнопки по своему усмотрению.
Как настроить сенсорные кнопки на навигационной панели смартфона Android
Для настройки виртуальных кнопок навигационной панели Android необходимо выполнить следующие действия:
- Зайдите в «Настройки» — «Система» — «Системная навигация»;
- Найдите вариант «Три навигационные кнопки» и перейдите в «Настройки»;
- Выберите нужный вам вариант навигационных кнопок и при необходимости активируйте опцию «Скрыть навигационные кнопки».
Настройка жестового управления на Android
Имея в своём распоряжении смартфон с ОС Android 10, вы можете использовать разные методы жестовой навигации, настроить которые можно следующим образом:
- Зайдите в «Настройки» — «Система» — «Системная навигация»;
- Выберите один из интересующих вас способов навигации: Жесты, Три навигационные кнопки, Кнопка навигации.
Операционная система вашего смартфона немного устаревшая? Тогда прибегните к помощи приложения Fluid Navigation Gestures, ссылка на скачивание которого приведена в конце данной статьи.
Как настраивать кнопки навигации на Android
Разбили именно ту часть экрана, где располагаются навигационные кнопки или их и попросту не на вашем смартфоне? Тогда добавьте их или перемести в другое место с помощью специальных приложений из этой подборки, лучшие из которых мы привели в списке ниже!
Знаете другие способы настройки навигационной панели на Android? Делитесь ими с другими пользователями в комментариях!
Fluid Navigation Gestures
Идеальный инструмент для настройки современных жестовых команд на устаревших устройствах, чтобы сделать пользование смартфоном более простым и удобным.
Simple Control
Хотите настроить кнопки панели навигации Android по своему усмотрению? Лучше этого функционального и простого в пользовании инструмента вы точно ничего не найдёте!
S8 Navigation bar (No Root)| Note 8 navigation bar
Нравится панель навигации Samsung Galaxy Note 8 и хотели бы получить её на своём смартфоне? Тогда установите этот инструмент и наслаждайтесь простой и комфортной навигацией!
Как ответить на конкретное сообщение в Instagram
7 Февраль, 2023 — Sergey
Instagram насчитывает огромную базу активных пользователей, многие из которых не знают о некоторых базовых функциях этой социальной сети. Одной из таких возможностей является цитирование сообщений, позволяющих быстро и удобно отвечать на конкретные сообщения в Instagram. Таки…
Как исправить ошибку неотображения имён контактов в WhatsApp на Android
7 Февраль, 2023 — Sergey
WhatsApp не отображает имена ваших сохраненных контактов? Обычно проблема возникает с определенным контактом, который вы недавно сохранили. В других же случаях это будет влиять на все имена контактов в списке контактов вашего смарфтона. Хотите узнать, почему возникает эта про…
Топ полезных приложений для пользователей WhatsApp
2 Февраль, 2023 — Sergey
WhatsApp был, есть и будет самым популярным мессенджером во всём мире, насчитывая более миллиарда пользователей по всему миру. Это стало возможным во многом благодаря постоянному добавлению новых полезных функций, делающих пользование этим мессенджером ещё проще и комфортнее.…
Как отметить кого-то в Instagram на Android
31 Январь, 2023 — Sergey
В Instagram каждый день появляется огромное количество нового контента, позволяя вам отмечать своих друзей в случае, если какой-то пост или сторис вам очень нравиться и вы хотите, чтобы ваши подписчики тоже имели возможность насладиться этим контентом. Сделать это можно как с…
Лучшие приложения для изучения программирования на Android, которые стоит скачать
26 Январь, 2023 — Sergey
Хотите научиться писать код, но стандартные уроки и туториалы очень утомительны и неинтересны для вас? Тогда у нас для вас есть решение — лучшие приложения для изучения программирования на Android, позволяющие познакомиться с базовыми принципами написания кода на разных…
- я страница
- Приложения для Андроид
- Игры для Андроид
- Темы для Андроид
- Контакты
- Разработчики
- FAQ
- Подборки
- Кто мы такие
- Конфиденциальность
- Правила использования
- Cookies
Содержание
- Что понадобиться, чтобы поменять кнопки навигации местами?
- Как изменить плотность между кнопками навигации Android?
- Способ 1: Системные средства
- Samsung
- Huawei
- Xiaomi
- Способ 2: ADB
- Как отключить экранные кнопки на Xiaomi Redmi 5
- Как убрать кнопку «Home» с экрана Android
- Отключение кнопки Home на Huawei
- Скрыть панель навигации с помощью сторонних приложений
- Способ №1. GMD Full Screen Immersive Mode
- Способ №2. Xposed + Ultimate Dynamic Navbar
- Скрыть панель навигации с помощью Build.Prop Editor (Root)
- Скрыть панель навигации на Android для режима погружения
- Настройка нижней панели навигации на Android
- Как скрыть верхнюю панель на андроиде
- Заключение
Что понадобиться, чтобы поменять кнопки навигации местами?
- Компьютер
- Установить утилиту ADB или программу ADB RUN
- Включить «Отладку по USB» на Android и разрешить «авторизацию«
После того как все будет установлено и настроено, приступаем.
В adb последовательно вводим команды:
adb shell settings put secure sysui_nav_bar "space,recent;home;back,space"
После чего кнопка назад будет справа, а список запущенных приложений слева.
Чтобы вернуть расположение кнопок навигации в первоначальное состояние необходимо воспользоваться следующей командой:
adb shell settings put secure sysui_nav_bar "space,back;home;recent,space"
Вот таким образом можно выполнять перемещение экранных кнопок местами, но стоит также отметить, что эти команды могут не работать на некоторых устройствах.
Если вы хотите изменить плотность между кнопками, то вам необходимо добавить в команду еще пару параметров «space» в команду, например:
settings put secure sysui_nav_bar "space,space,recent;home;back,space,space"
после чего кнопки станут плотнее.
Если вы хотите сдвинуть кнопки левее или правее, то необходимо убрать с одной из сторон параметр «space» в команде. Например сместить кнопки навигации Android левее:
settings put secure sysui_nav_bar "space,space,recent;home;back"
У вас еще остались дополнительные вопросы? Задавайте их в комментариях, рассказывайте о том, что у вас получилось или наоборот!
Вот и все! Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней! Больше статей и инструкций читайте в разделе Статьи и Хаки Android.
Способ 1: Системные средства
Многие производители расширяют в своих оболочках функциональные возможности, в том числе позволяя изменять порядок кнопок навигационной панели.
Samsung
На смартфонах Самсунг процедура выполняется следующим образом:
- Откройте «Настройки» — например, через шторку устройства.
- Прокрутите перечень до пункта «Дисплей» («Display») и тапните по нему.
- Далее воспользуйтесь параметром «Навигационная панель» («Navigation Bar»).
- Теперь перейдите к блоку «Порядок кнопок» («Button order») и выберите вариант, который вам наиболее подходит. К сожалению, самостоятельно определить положение нельзя.
Изменения применяются моментально.
Huawei
- Запустите средство управления параметрами телефона.
- Пролистайте список вниз и выберите пункт «Система и обновления».
- Тапните «Системная навигация».
- Перейдите к опции «Три навигационные кнопки».
- Здесь укажите предпочитаемый вариант.
В оболочке Хуавей тоже нельзя произвольно выбирать расположение кнопок.
Xiaomi
На устройствах Сяоми тоже имеется соответствующая опция.
- Откройте приложение «Настройки».
- Далее выберите «Расширенные настройки».
- Воспользуйтесь пунктом «Безграничный экран».
- Убедитесь, что активен вариант «Кнопки», затем тапните по переключателю «Поменять местами кнопки меню и назад».
К сожалению, в чистом Android нет никаких системных возможностей изменить расположение кнопок.
Способ 2: ADB
Необычным способом перемещения элементов навигационной панели будет использование средства Android Debug Bridge.
- Убедитесь, что на целевом телефоне включена отладка по USB, а на компьютере установлены соответствующие драйвера.
- Откройте «Командную строку» от имени администратора – например, найдите компонент через «Поиск», затем воспользуйтесь одноимённой опцией запуска.
- В интерфейсе ввода команд перейдите к папке с ADB, после чего введите команду adb devices.
Должен появиться список, в котором будет отображаться подключённое устройство.
- Далее пропишите следующее:
adb shellsettings put secure sysui_nav_bar «space,recent;home;back,space»
Проверьте правильность ввода и нажмите Enter.
- Разблокируйте девайс и посмотрите на навбар – кнопки «Недавние приложения» и «Назад» будут перемещены.
Вариант с Android Debug Bridge подходит владельцам чистого «зелёного робота».
Как отключить экранные кнопки на Xiaomi Redmi 5
Подробное руководство, в котором разберется даже новичок. Все манипуляции с телефоном будут проходить через раздел «Настройки».
Под фразой «отключить экранные кнопки» понимается не полное отключение этой функции, так как это затруднит использование смартфона, а имеется ввиду возможность убрать их отображение с экрана.
Когда пользователь захочет использовать экранные кнопки навигации, ему достаточно будет «сделать свайп» нижней части экрана.
Как убрать кнопку «Home» с экрана Android
В смартфонах Honor и Huawei настройки позволяют скрывать интерактивную кнопку «Home», для чего нужно выполнить следующее:
- Идём по пути «Настройки» – «Система» – «Системная навигация».
- Открываем настройки навигационной кнопки.
- Теперь нужно перевести тумблер в неактивное положение, после чего «Home» на экране Android-устройства уже не будет. Чтобы вернуть интерактивный элемент, нужно проследовать тем же путём и перевести ползунок в положение включения.
Кнопка «Домой» может быть деактивирована из панели быстрых настроек, для чего свайпом сверху открываем шторку, находим здесь иконку «Кнопка навигации» и нажимаем, после чего значок изменит цвет.
Элемент навигации «Home», расположенный вместе с другими интерактивными клавишами, можно скрыть с экрана Android, используя системные настройки девайса. Один и вариантов, как убрать «Домой», предполагает следующие действия:
- Идём в «Настройки» – «Расширенные настройки».
- На вкладке «Кнопки и жесты» напротив пункта «Скрыть экранные кнопки» перемещаем тумблер в неактивное положение.
В зависимости от оболочки меню отличается, на некоторых девайсах в настройках нужно перейти в раздел «Панель навигации» и аналогичным образом перевести ползунок в соответствующем пункте.
Альтернативный вариант, позволяющий отключить кнопку «Home» на Android и/или соседствующие элементов встроенной навигации – применение Xposed Framework.
Отключение кнопки Home на Huawei
Сейчас интерактивную кнопку в свою прошивку внедрила компания Apple и Huawei. Остальные производители пока не спешат оснащать смартфоны удобным элементом навигации. Для удаления кнопки с экрана Honor нужно выполнить ряд действий:
- Первым делом заходим в настройки, где открываем раздел «Система». В зависимости от прошивки местоположение категории может различаться, но зачастую она находится вверху настроек.
- Далее переходим во вкладку «Системная навигация».
- Затем открываем окно с настройками навигационной кнопки.
- Здесь нужно перевести ползунок влево напротив нужного пункта.
После этого интерактивный элемент исчезнет с экрана. Вернуть обратно его можно по представленной выше инструкции, где в последнем пункте перевести ползунок вправо. Также возможно, что кнопку «Домой» получится отключить из панели с быстрыми настройками. Откройте её и нажмите на иконку «Кнопка навигации». После этого значок должен изменить свою окраску.
Скрыть панель навигации с помощью сторонних приложений
Вы можете использовать приложение Power Toggles, чтобы включить режим погружения на своем устройстве, который по существу скрывает строку состояния и панель навигации, тем самым предоставляя вам больше места на экране. Для этого выполните следующие действия:
- Перейдите в Play Store и загрузите Power Toggles отсюда. Это бесплатно и работает с некорневыми устройствами.
- Затем нажмите и удерживайте кнопку на главном экране, перейдите в раздел «Виджеты», выберите « Переключатели питания» и перетащите «Виджет панели 4 × 1» на рабочий стол.
- Теперь вам нужно настроить виджет. Нажмите на кнопку «Добавить переключатель» и прокрутите вниз до раздела «Дисплей» . Оказавшись там, вы найдете переключатель «Режим погружения» . Просто нажмите на него, чтобы добавить его в виджет.
- Нажмите Готово, чтобы выйти из меню редактирования виджета. Теперь на рабочем столе просто нажмите значок режима погружения, чтобы переключаться между режимом погружения на вашем устройстве.
- Вот и все. Теперь вы можете использовать этот переключатель, чтобы включить или отключить режим погружения на вашем устройстве.
Другим вариантом для достижения этих результатов является использование приложения GMD Full Screen Immersive Mode (бесплатно, с покупками в приложении). В то время как Power Toggles скрывает как строку состояния, так и панель навигации, это приложение дает вам возможность скрыть одну из них или обе . Вы можете использовать это приложение с помощью простого переключателя в панели уведомлений.
Способ №1. GMD Full Screen Immersive Mode
Этот способ самый простой, т.к. не требует наличия Root-прав, но при этом он требует наличия Android не ниже версии 4.4, и в целом работает не всегда корректно. Однако, его стоит попробовать прежде чем браться за более серьезные инструменты – возможно он вас полностью удовлетворит.
- Скачайте и установите приложение GMD Full Screen Immersive Mode
- Запустив приложение перейдите в раздел “General” и поставьте галку на пункте “Start on Boot”, что бы приложение запускалось вместе с загрузкой Android
- В этом же разделе поставьте галку в пункте “Notification”, что бы кнопки приложения отображались в панели уведомлений
- Раздел Trigger можете на первых парах оставить по умолчанию, изменить его можно в любой момент.
- Теперь, запустив любое из приложений, смахните шторку уведомлений и нажав на одну из иконок GMD Immersive выберите что вы хотите скрыть: нижнюю панель или нижнюю вместе в верхней.
- Что бы выйти из полноэкранного режима, смахните триггер внизу экрана свайпом вверх.
К существенным минусам этого приложения можно отнести невозможность вызова клавиатуры в полноэкранном режиме, а так же некорректную работу в некоторых приложениях. К примеру, TapTalk в полноэкранном режиме у меня вообще не реагировал на нажатия экрана, однако в большинстве игр GMD Immersive показал себя хорошо.
Способ №2. Xposed + Ultimate Dynamic Navbar
Этот способ является самым удобным, надежным и гибконастраиваемым, однако требует наличия Root и задействует сразу два различных приложения. Внимательно следуйте инструкции и у вас все получиться.
Первым нам понадобиться приложение Ultimate Dynamic Navbar
- Скачайте и установите приложение Ultimate Dynamic Navbar
- Запустите его и перейдите в настройки
- Поставьте верхний переключатель в положение “Вкл” и поставьте галку на пункте “Автозапуск при включении”
- Остальные настройки можете настроить на свой вкус позднее.
Как видите у нас появилась “плавающая” панель навигации, однако стандартная фиксированная панель никуда не исчезла, что бы скрыть её, нам понадобиться нструмент Xposed Framework. Что это такое я более подробно расскажу в одной из следующих статей.
- Скачайте Xposed installer и запустите его
- Перейдите в раздел “Фреймфорк” и выберите “Установить/Обновить”
- Перезагрузите устройство и запустите Xposed installer ещё раз. В разделе “Фреймфорк” теперь должна отображаться текущая версия приложения
- Теперь перейдите в раздел “Модули” и отметьте галкой модуль Ultimate Dynamic Navbar
- Теперь перезагрузите ваш смартфон – старая панель должна исчезнуть, а вместо неё появиться новая плавающая панель навигации, которую можно вызвать дернув за треугольный триггер снизу экрана.
Скрыть панель навигации с помощью Build.Prop Editor (Root)
Несмотря на то, что вышеупомянутые приложения достаточно хороши, чтобы временно скрыть панель навигации, можно навсегда избавиться от нее и прибегнуть к другим методам навигации, таким как Pie Control или аппаратные кнопки (если они есть на вашем устройстве). Таким образом, вы можете отредактировать файл build.prop вашего устройства, чтобы полностью избавиться от панели навигации.
Примечание. Прежде чем приступить к выполнению следующих шагов, убедитесь, что на вашем устройстве настроен хотя бы один способ навигации, например, Simple Pie или ваши емкостные аппаратные кнопки.
- Перейдите в Play Store и загрузите BuildProp Editor (бесплатно, с покупками в приложении) и откройте его.
- После открытия приложения коснитесь значка «Изменить» в правом верхнем углу, чтобы открыть редактор. Прокрутите весь путь вниз и добавьте следующую строку «qemu.hw.mainkeys = 1», а затем нажмите на кнопку «Сохранить» в правом верхнем углу.
- Когда вы нажмете на значок сохранения, вам будет представлен список из трех вариантов. Нажмите на «Сохранить и выйти» . Затем приложение попросит вас предоставить ему привилегии root для продолжения. После этого перезагрузите устройство .
- Вот и все. После перезагрузки устройства вы заметите, что панель навигации исчезла. Теперь вы можете использовать свой альтернативный метод навигации (Simple Pie или другие) в качестве основного метода навигации по устройству.
Скрыть панель навигации на Android для режима погружения
Вы можете временно скрыть панель навигации, чтобы использовать дополнительное пространство экрана. Или, может быть, просто потому, что вы раздражены тем, как выглядит панель навигации, и предпочитаете альтернативный метод. В любом случае, наш гид должен помочь вам достичь вашей цели. Ну, вот и все, так что спрячьте панель навигации в вашем Android-устройстве. Если у вас есть какие-либо сомнения, сообщите нам об этом в разделе комментариев ниже.
Настройка нижней панели навигации на Android
Настройка панели навигации на андроиде позволяет переназначить некоторые действия и добавить дополнительные клавиши для создания скриншотов, управления программами, а также многое другое.
Навигация с помощью кнопок очень удобная
Обратите внимание! Процесс конфигурирования может помочь в случае, если пропали кнопки внизу экрана андроид-устройства.
Если пользователь ищет ответ на вопрос, как поменять местами кнопки на андроид 9, необходимо выяснить, какими средствами он хочет пользоваться. Можно попробовать заменить назначение клавиш с помощью стандартного функционала, а можно изменить их внешний вид или вообще удалить навигацию через сторонние программные продукты.
Раздел, содержащий работу с навигацией
Как скрыть верхнюю панель на андроиде
Если вопрос о том, как убрать панель навигации в Android, уже решен, то можно рассмотреть процедуру, позволяющую спрятать или полностью убрать верхнюю панель уведомлений. На новых телефонах для этого достаточно открыть шторку уведомлений, нажать на значок «Конфигурации», перейти в пункт «System UI Tuner» и деактивировать все параметры подраздела «Status bar».
На более старых смартфонах замена верхней и нижней панелей на время или навсегда осуществляется через сторонние программы. В качестве примера GMD Full Screen Immersive Mode.
К сведению! Приложение доступно для скачивания во многих проверенных сервисах, но из Google Play Market по неизвестным причинам было удалено. Несмотря на это, его можно спокойно найти на 4PDA.
После процесса загрузки и установки начинается работа. Для конфигурирования достаточно просто открыть программу, активировать режим GMD Immersive и выбрать один из трех вариантов отображения:
- без каких бы то ни было панелей;
- со всеми возможными панелями;
- только с панелью уведомлений.
Сразу же после этого выбранный интерфейс пользователя будет скрыт из операционной системы до тех пор, пока не захочет выполнить его возврат. Восстанавливать UI также просто: выбирают стиль GMD Immersive, который позволяет отобразить верхний прямоугольник уведомлений.
Возвращать внешний вид панели порой приходится только через сброс настроек
Настроить панель навигации можно не только стандартными настройками, но и специализированными программами. Они позволяют не только отключать панель полностью, но и изменять ее внешний вид. Иногда кнопки могут сами отказать работать. В этом случае рекомендуют перепрошить гаджет или выполнить сброс его настроек.
Заключение
Прочитав данную статью можно узнать, как убрать кнопку «Домой» с экрана Андроид. Тема особенно актуально для владельцев телефонов от Honor или Huawei. Зачастую достаточно нажать одну клавишу в панели быстрого доступа.
Источники
- https://androidp1.ru/kak-pomenjat-knopki-navigacii-mestami-na-android/
- https://lumpics.ru/how-rearrange-buttons-on-android/
- https://xiaomishka.ru/ekrannye-knopki-na-xiaomi-redmi-5
- https://nastroyvse.ru/opersys/android/vklyuchit-ili-ubrat-knopku-domoj.html
- https://itpen.ru/kak-ubrat-knopku-domoj-s-ekrana-android/
- https://ru.gadget-info.com/66842-how-to-hide-navigation-bar-on-android-without-root
- https://feetch.com/navbar-hide.html
- https://mirinfo.ru/android/kak-pomenyat-knopki-mestami.html
На чтение 10 мин Просмотров 1.7к. Опубликовано 14.09.2022 Обновлено 13.09.2022
Панель навигации на Android давно представлена виртуальными, а не физическими кнопками, а у некоторых пользователей – и вовсе жестами. Благодаря этому удастся кастомизировать управление смартфоном, как удобно. Удастся привязать больше действий или поменять клавиши местами, что стало темой этой статьи. Вы узнаете, как изменить расположение кнопок «Назад» и «Недавно запущенные» за полминуты через настройки смартфона. Кроме того, далее рассказывается о стороннем софте, позволяющем провести ещё большую персонализацию гаджета.
Инструкции подходят для современных систем, выпущенных разными производителями. На девайсах, поддержка которых давно прекращена, нет таких настроек, а найти сторонние приложения будет непросто.
Содержание
- Зачем менять кнопки на телефоне?
- Как поменять местами кнопки на «Андроиде»
- На Xiaomi
- На Huawei, Honor
- На Samsung
- На других «Андроидах»
- Изменение через программу Android Debug Bridge
- Приложения для переназначения кнопок
- «Переназначение клавиш и кнопок»
- Button Mapper: Remap your keys
- Проблемы и способы их решения
- Button Mapper срабатывает во всех приложениях
- Программа для перенастройки сама закрывается
- Android Debug Bridge не работает, но питание идёт
- Android Debug Bridge слишком сложен
- Заключение
Зачем менять кнопки на телефоне?
Вы найдёте этот материал полезным, если:
- хотите видеть кнопку «Назад» слева, а не справа (или наоборот);
- поменяли телефон и уже успели привыкнуть к другой панели навигации;
- приложение, используемое вами, не скрывает кнопки, а вы случайно нажимаете одну из них (например, меню программ, из-за чего окно сворачивается);
- расположение важно для работы с каким-либо софтом или игр.
На новых Android можно сделать меню скрываемым с помощью свайпа, как и полностью убрать его – тогда для управления понадобится использовать жесты. Этому посвящена отдельная статья, где также рассказывается о способах выключить плавающую кнопку.
Если вас устраивает текущее расположение кнопок на смартфоне, лучше его не менять – придётся привыкать ещё несколько дней.
Как поменять местами кнопки на «Андроиде»
На Xiaomi
Прежде чем перейти к гайду, стоит отметить, что порядок действий прост и почти одинаков на девайсах любых производителей. Различия проявляются лишь в названиях некоторых кнопок, иконках и дизайне. Например, для устройств Xiaomi актуальна следующая инструкция:
- Откройте настройки смартфона;
- Нажмите поисковую строку;
- Введите «безграничный экран»;
- Переведите тумблер «Поменять кнопки местами» вправо.
Есть и другой способ, который некоторые читатели найдут более удобным:
- Удерживайте палец в свободном месте на экране рабочего стола;
- Откройте настройки отображения;
- Нажмите «Ещё»;
- Выберите опцию «Способ навигации»;
- Активируйте функцию «Поменять местами кнопки».
Если вы захотите вернуть стандартное отображение панели навигации, это удастся выполнить аналогичным образом. Как видно, проделать эти шаги удастся за менее чем 1 минуту, и даже перезапускать лаунчер не понадобится.
На Huawei, Honor
Девайсы обоих производителей обладают оболочкой EMUI, поэтому инструкции для них объединены, и если вы не знаете, как поменять местами клавиши на Honor или Huawei, то данный раздел для вас. Изменение расположения элементов в панели навигации здесь производится так же просто, как и на Mi-девайсах:
- Запустите настройки телефона и войдите в категорию «Система и обновления»;
- Перейдите во вкладку «Системная навигация»;
- Выберите режим «Три навигационные кнопки»;
- Отметьте, какую комбинацию кнопок хотели бы использовать. Достоинством Honor и Huawei выступает увеличенное количество клавиш (4 вместо 3), а также большое число вариантов;
- Кроме того, вы можете разрешить скрытие навигационных кнопок. Тогда в левом нижнем углу будет отображаться стрелочка. Нажмите её, и панель скроется. Ещё можно убрать её свайпом сверху вниз.
На Samsung
У обладателей девайсов Samsung тоже не возникнет проблем в управлении навигацией. К сожалению, в One UI представлено не так много параметров, как на девайсах Honor, но получится поменять местами клавиши Back и Recent или вовсе включить жесты. Достаточно проделать следующие шаги:
- Откройте настройки смартфона;
- Войдите в раздел «Дисплей»;
- Нажмите параметр «Навигационная панель»;
- В подпункте «Порядок кнопок» выберите подходящий вариант. Как видно, их всего 2, и различие заключается в левом и правом элементах.
Изменить параметры навигации, удерживая палец в свободном месте на рабочем столе, на гаджетах этого бренда не получится. Впрочем, инструкция выше довольно проста, так что это нельзя назвать существенным недостатком.
На других «Андроидах»
На девайсах со стандартной прошивкой, а также с кастомными либо малораспространёнными образами, порядок действий точно такой же – нужно открыть настройки экрана или системы, где потребуется выбрать подходящий вид.
Обычно предлагаются всего два варианта, отличающиеся нахождением кнопки Back слева или справа. Если этого кажется недостаточно, стоит обратить внимание на сторонние программы, позволяющие добавить больше кнопок и действий при их удержании. Софт, позволяющий это сделать, описывается далее.
Изменение через программу Android Debug Bridge
Прежде чем перейти к обзору программ на «Андроид», стоит рассказать об ADB. Эта утилита позволяет управлять телефоном через компьютер по USB-кабелю. Она не заменяет прав root, но даёт выполнять больше действий, чем предлагается в настройках девайса.
Для пользования ADB нужно разрешить отладку по USB:
- Откройте настройки телефона и перейдите в раздел «О системе», а оттуда – в «О телефоне»;
- 7 раз быстро тапните по пункту «Номер сборки». Так вы откроете скрытый раздел, о чём скажет надпись «Вы стали разработчиком!»;
- Вернитесь в предыдущую категорию и войдите в только что появившуюся вкладку «Для разработчиков»;
- Включите параметры, отмеченные тут, переведя тумблер в верхней части экрана вправо. Кроме того, вам нужно разрешить USB-отладку. Найдите этот пункт и активируйте его.
Теперь вам нужно скачать Android Debug Bridge, подходящий для Windows, Linux и macOS. После установки понадобится разархивировать файл в любую папку (лучше, чтобы она не содержала кириллических названий и спецсимволов) и открыть её через командную строку:
- Нажмите Win+R. Введите cmd и используйте комбинацию Ctrl+Shift+Enter;
- Перейдите в папку, используя команду cd. Например: cd C:UsersAdminDesktop откроет рабочий стол пользователя Admin. Если ADB находится на другом диске, понадобится сперва открыть его, введя букву тома и двоеточие (к примеру, F:);
- Подсоедините смартфон по USB. На его экране появится окно с предложением разрешить отладку. Тапните «ОК»;
- Теперь на компьютере следует проверить, подключён ли девайс. Для этого введите adb devices и посмотрите, отображается ли устройство в списке. Если да, остаётся только написать adb shell и settings put secure sysui_nav_bar «space,back;home; recent,space».
Таким образом, кнопка «Назад» окажется слева. В зависимости от комбинации слов, которую вы укажете, изменится отображение меню навигации. Ничто не мешает использовать даже нестандартные элементы интерфейса с кнопкой «Домой» не посередине. Более того, удастся вовсе убрать любую клавишу. Важно учесть, что слово space означает свободное пространство, и при его отсутствии боковые клавиши будут находиться у самого края дисплея.
По отзывам некоторых пользователей, изменения действуют временно, и после запуска определённых приложений (предположительно – полноэкранных), порядок размещения элементов сбрасывается. Тем не менее, через ADB вы можете персонализировать меню навигации, как угодно.
Приложения для переназначения кнопок
Для изменения положения клавиш можно использовать сторонний софт, содержащий больше вариантов, чем настройки девайса. Кроме порядка кнопок удастся настроить действия, возникающие при удержании или двойном нажатии того или иного элемента интерфейса. Если вам нужно просто поменять местами кнопки Back, Recent, настоятельно рекомендуется сделать это через системные параметры, а не программы. Так удастся сохранить место в хранилище и избежать багов.
«Переназначение клавиш и кнопок»
Утилита с говорящим названием подойдёт для управления не только кнопками на панели навигации, но и боковыми клавишами. Стоит отметить, что в некоторых прошивках управлять последними можно и без софта из Интернета. Например, в Samsung можно переназначить кнопку Bixby на почти любую задачу.
Скачать «Переназначение клавиш и кнопок»
- Загрузите и установите приложение, после чего нажмите кнопку «+» в правом нижнем углу;
- Выберите ситуацию, при которой будет выполняться действие: «Комбинация» (нужно удерживать несколько клавиш) или «Короткое и долгое нажатие» (переназначает функциональность кнопок при простом или длительном тапе, соответственно);
- Отметьте одну или несколько кнопок и действие, которое они будут выполнять. Можно использовать утилиту для звонков, запуска приложений, авто-нажатия в определённом месте дисплея и других действий. Сохраните параметры, тапнув «ОК».
Программа доступна для смартфонов с Android 4.3 и выше, по-прежнему обновляется и обладает русскоязычным интерфейсом (она выпущена российским разработчиком).
Button Mapper: Remap your keys
Ещё одно приложение, позволяющее легко изменить функциональность кнопок. Здесь представлено намного больше функций, чем в предыдущей утилите. В числе возможных действий: скриншот, разделение экрана, беззвучный режим, меню выключения, блокировка экрана и так далее. К сожалению, русский язык не поддерживается, но вы всё равно сможете без проблем настроить панель действий. Всё благодаря понятному интерфейсу
Скачать Button Mapper: Remap your keys
- Пройдите по ссылке выше, загрузите и установите утилиту. Запустив Button Mapper, выберите кнопку (физическую или виртуальную), на которую будет срабатывать событие. Чтобы перенастроить сенсорную клавишу, нажмите «Add Buttons»;
- Задайте разные действия для одиночного, двойного и долгого нажатий, установите разные громкость и вибрацию;
- Выберите, что должно происходить при пользовании кнопкой;
- Если вы хотите, чтобы Button Mapper запускал для вас приложение, тапните «Applications» и нажмите подходящий софт;
- Аналогично можно включить быстрые действия (ярлыки) по нажатию. Сохраните изменения.
Софт обладает более чем 1 миллионом загрузок в Play Market. Он подходит для девайсов на Android 4.3 и новее. Обновления выходят по сей день. Обладатели телефонов Samsung могут использовать утилиту для настройки поведения Bixby, но, как говорилось выше, управлять ею можно через настройки системы.
Наравне с предыдущим приложением, данная утилита не требует прав root.
Проблемы и способы их решения
Button Mapper срабатывает во всех приложениях
Если вы хотите, чтобы особое поведение кнопок работало не во всей системе, следует перейти во вкладку «Bypass Apps». Далее понадобится перевести тумблер у приложения, которое следует занести в список исключений. Теперь можно проверить, сохранились ли изменения, запустив проблемную программу или игру и специально тапнув клавишу.
Программа для перенастройки сама закрывается
Начиная с Android 6.0 в телефонах и планшетах присутствует так называемый Doze Mode, призванный сохранить заряд энергии. Он работает, завершая фоновые приложения, потребляющие много энергии или давно не открывавшиеся пользователем. Сделать исключение для утилиты получится самостоятельно по следующей инструкции:
- Откройте программу «Настройки»;
- Войдите во вкладку «Обслуживание устройства»;
- Тапните «Батарея»;
- Перейдите в раздел «Ограничения в фоновом режиме»;
- Откройте список «Неспящие приложения»;
- Используйте кнопку «+», чтобы добавить программу;
- Выберите утилиту, используемую для перенастройки клавиш, и нажмите «Добавить»;
- Теперь, когда программа находится в этом списке, она не будет выключаться автоматически.
Android Debug Bridge не работает, но питание идёт
Вероятно, вы не разрешили отладку в настройках разработчика или вообще не активировали параметры в этом разделе. Соответствующие инструкции приводились ранее. Кроме того, при сопряжении с компьютером на смартфоне появляется окно «Разрешить отладку по USB?», в котором нужно тапнуть «Да». Если оно не возникает, но питание подаётся – проблема заключается в кабеле. Он, вероятно, не поддерживает передачу данных, и вам потребуется приобрести другой провод.
Android Debug Bridge слишком сложен
В статье описана базовая работа с ADB, не требующая особых навыков. Если у вас всё равно возникают проблемы с текстовым интерфейсом, стоит обратить внимание на ADB Run. Эта утилита позволяет работать с устройством более привычным образом. Существует также веб-версия, дающая управлять гаджетом без скачивания софта на компьютер.
Заключение
Текст рассказывает о способах переместить кнопки навигации на любых версиях Android, а также о вариантах переназначить их. Можно создавать свои комбинации или просто менять действия по простому, долгому и двойному нажатиям. Проще всего изменить расположение клавиш через настройки девайса, но, поскольку количество вариантов невелико, может понадобиться софт из Play Market. Полезным выступает и Android Debug Bridge, являющийся мощной утилитой для управления гаджетом.
Если вы не планируете использовать отладку в будущем, стоит отключить её – это повысит безопасность телефона. На этом обзор завершается, но, если у вас есть больше полезных советов, напишите их в комментариях.
Коснитесь значка шестеренки рядом с активным приложением на главном экране, и вы можете отключить окраску для определенных приложений или изменить цвет по умолчанию, если вы предпочитаете другой. Если вы предпочитаете использовать один цвет, выберите «Статический цвет» на главном экране. Коснитесь шестеренки, чтобы выбрать свой цвет. Это все, что вам нужно, чтобы получить цветную строку состояния.
Вот как изменить нижние кнопки / панель навигации Android
- На устройстве Android перейдите в «Настройки»> «Система»> «Жесты».
- Внутри жестов нажмите «Системная навигация».
- Внутри системной навигации есть 3 варианта: выберите, какой вам нравится. …
- Нажмите на понравившийся вариант.
Почему моя панель навигации белая?
В конце прошлого года Google выпустил обновления для своих приложений, которые сделают панель навигации белой, когда вы используете эти приложения. … В более широком смысле Google переходит на более белый пользовательский интерфейс в Android, а также в собственных приложениях.
Как настроить панель навигации?
В меню «Настройки» нажмите «Экран», а затем коснитесь панели навигации. Убедитесь, что выбраны кнопки, а затем вы можете выбрать желаемую настройку кнопок в нижней части экрана. Примечание. Этот параметр также повлияет на местоположение, в котором вы проводите пальцем при использовании жестов смахивания.
Как мне изменить панель навигации на моем телефоне?
Как изменить панель навигации?
- Проведите вверх по главному экрану, чтобы запустить экран приложения.
- Нажмите на настройки.
- Нажмите на Дисплей.
- Проведите вверх.
- Нажмите на панель навигации.
- Нажмите на полноэкранные жесты, чтобы изменить тип навигации.
- Отсюда вы можете выбрать любой заказ на одну кнопку.
Где в моем телефоне панель навигации?
Откройте «Настройки», нажмите «Экран», а затем коснитесь панели навигации.
Как получить панель навигации?
Коснитесь «Настройки» -> «Дисплей» -> «Панель навигации-> «Кнопки» -> «Расположение кнопок». Выберите шаблон в «Скрыть панель навигации» -> Когда приложение откроется, панель навигации будет автоматически скрыта, и вы можете провести вверх от нижнего угла экрана, чтобы отобразить ее.
Где находится панель навигации в настройках?
Выберите, как передвигаться
- Откройте приложение «Настройки» вашего телефона.
- Перейдите в Системные жесты. Системная навигация. Если вы не можете найти Системную навигацию, перейдите к инструкциям для более старых версий Android. …
- Выберите один из вариантов: Навигация с помощью жестов: без кнопок. 2-кнопочная навигация: две кнопки для «Домой» и «Назад».
Как получить черную панель навигации?
Шаг 2 Включите доступ к Услуги доступности
Прокрутите вниз меню служб специальных возможностей, нажмите «Приложения Navbar», затем переключите переключатель, чтобы разрешить доступ.
Simple Control (Navigation bar) – простой инструмент для вывода на экран устройства панели навигации, заменяющей собой стандартные кнопки управления. Для начала пользования следует предоставить программе разрешения для наложения своего контента поверх других окон и запустить службу программы в специальных возможностях смартфона. Главное окно разделено на три вкладки: активная зона, настройки и внешний вид иконок.
В первом пункте настраивается ширина и местоположение активной полоски, при касании которой будет появляться навигационная панель. По умолчанию зоны включены справа и слева, но можно задействовать и нижнюю часть экрана. Настройки определяют цвет кнопок, их размер, прозрачность и время отображения на экране. Особый интерес вызывает последняя вкладка с большим количеством самых разнообразных иконок, буквально на все случаи жизни. Сами кнопки работают хорошо и без долгого ожидания.
Simple Control – стабильная утилита, которая способна как решить проблему вышедшей из строя панели навигации, так и полностью ее заменить. Программу также оценят владельцы больших диагоналей, за возможность оперировать устройством одной рукой.
Особенности:
- Мультиплатформенность
- Управление используя жесты
- Огромное количество полезный настроек
Скачать приложение для вывода на экран устройства панели навигации — Simple Control на Андроид вы можете по ссылке ниже.
Разработчик: coolaceПлатформа: Android 4.1 и вышеЯзык интерфейса: АнглийскийСостояние: Full (Полная версия)Root: Не нужен
| Simple Control (Navigation bar) — v2.7.4 | [Размер файла — 4,91 Mb] |
| [google play] |
Кнопки навигации Адроид – что это и как их использовать – вопрос, который требует ответа у пользователей гаджетов этой ОС. Подобная опция разрешает использовать жесты для управления смартфоном. В статье вниманию представлены сведения, описывающие опцию. Можно узнать, что это. Какие дополнительные функции открываются после этого. Пользователь поймет, как настроить панель навигации, чтобы сделать ее полезной.
Содержание
- Для чего нужны кнопки навигации на телефоне?
- Как убрать кнопки навигации на Андроид?
- Как скрыть кнопки навигации на Андроид?
- Как вернуть их обратно?
- Как поменять местами кнопки навигации на Android 9?
- Пропали кнопки навигации на экране в Андроиде – что делать?
- Подводя итоги
- GMD Full Screen Immersive Mode
- Fulscrn Free
- Full!screen
- GMD Auto Hide Soft Keys
- Hide System Bar (Full Screen)
- Часть 1. Подготовительные работы
- Часть 2. Элементы навигации
- Краткие выводы и ссылка на github
Для чего нужны кнопки навигации на телефоне?
Это полезные, обеспечивающие удобство. Работать с ними нужно следующим образом:
- Одно нажатие – назад;
- Задержка пальца и отпускание – переход на экран;
- Удержание и проведение – осуществление обзора;
- Стандартное перетаскивание – перемещение объектов.
Если нет навигации, опция предусмотрена на телефоне. Активировать ее можно через настройки. Необходимо перейти туда. Найти и выбрать вкладку Система. На странице пользователь должен найти навигацию и включить ее. деактивировать объект требуется по аналогичной схеме.
Как убрать кнопки навигации на Андроид?
При желании пользователь может убрать один элемент встроенной навигации. Если подобная необходимость возникает, рекомендуется выполнить следующие манипуляции:
- Открывается панель оперативного доступа к опциям.
- На панели нужно нажать на элемент навигации.
- После активации на экране быстро появится круглая кнопка.
Навигационные кнопки андроид можно перемещать по собственному усмотрению. Подобным образом можно работать с элементами. Разрешается очистить панель управления полностью. Чтобы ускорить процесс, убрать все опции одновременно, придется использовать специальные сторонние приложения.
Как скрыть кнопки навигации на Андроид?
При необходимости пользователь может за один раз убрать показатели состояния. Это поможет получить отображение ПО на дисплей. Для осуществления данной операции следует ввести код SYSTEM_UI_FLAG_FULLSCREEN.
После активации исчезнет расположенная сверху полоска. Пропадет название утилиты. Оно передвинется вверх. Если потребуется его убрать, стоит добавить две дополнительные строки кода – ActionBaractionBar = getActionBar() и actionBar.hide().
Пользователям предоставляется возможность объединить флаги. За счет этого получится скрыть одновременно панель управления и строку функционирования смартфона. Несмотря на удобство и универсальность метода, важно помнить, что нажатие на дисплей вернет панель. Строка будет отражаться снова. При активации кнопки Домой человек вернется в утилиту. При этом будет видно строку состояния.
Как вернуть их обратно?
ОС Андроид – гибкая система. При желании скрытые элементы можно быстро вернуть. Для выполнения подобной операции не нужно скачивать сторонние приложения. Одним из самых популярных приложений считается Ultimate Dynamic Navbar. Используя его, пользователь должен выполнить такие действия:
Если у Вас остались вопросы — сообщите нам 
- Приложение нужно скачать и установить.
- Производится его запуск.
- Осуществляется переход в настройки.
- Далее следует поставить верхний переключатель в рабочее положение.
- Ставится галка на нижний раздел автозапуска.
Остальные необходимые настройки следует установить по собственному усмотрению. Если все действия выполнить правильно, появится плавающая панель. При этом стандартная никуда не исчезает. Чтобы скрыть ее, потребуется задействовать утилиту Xposed Framework.
Если появится желание вернуть обратно, потребуется действовать по противоположной схеме. Зайти в настройки, проверить, чтобы были отключены ранее включенные опции. Главное, следовать подобной инструкции. Можно будет установить или убрать панель с регулирующими кнопками.
Как поменять местами кнопки навигации на Android 9?
Владелец устройства наделен возможностью поменять местами кнопки навигации на android 9. Если появится желание перейти на полное управление жестами, их можно скрыть. Есть стандартная схема изменения кнопок:
- Необходимо зайти в раздел с настройками экранного управления;
- Открывается Система;
- Далее нужно нажать на строку Системная навигация;
- Производится переход на строку Три кнопки навигации. Здесь следует нажать на Настройки и поменять местами;
- В этой строке выбирается требуемая комбинация кнопок.
Если не получилось отыскать нужный пункт, потребуется действовать иным образом. В поиске следует указать ключ Кнопка. Далее выбирается пункт меню. Подобная схема действий активна на всех сенсорных телефонах.
Пропали кнопки навигации на экране в Андроиде – что делать?
Когда пропали на экране кнопки- это довольно неприятный дефект. Ничего не ожидающего пользователя он может изумить. Возникает подобное обстоятельство при смене официальной прошивки. Сначала пугает отсутствие главных элементов. После этого начинает настораживать отсутствие доступа к уведомлениям системы.
Чтобы все начало работать, потребуется использовать ПК. На него должен быть установлен специальный USB драйвер и Android SDK. После этого нужно провести такие манипуляции:
- Гаджет подключается к ПК через USB порт.
- Запускается окно строки написания кода. Сюда нужно вписать такую команду adb shell am start -ncom.google.android.setupwizard/.SetupWizardTestActivity.
- На экране появится диалог по первому запуску. Он пригласит пользователя сменить язык. Затем нужно будет присоединиться к Google Now. После выполнения данной операции появится рабочий стол.
- В завершении останется перезагрузить планшет или смартфон. Ранее исчезнувшие кнопки автоматически появятся на месте.
Инструкция достаточно проста. Чтобы добиться при ее осуществлении оптимального результата, нужно следовать представленной схеме.
Подводя итоги
Производители смартфонов ОС Андроид планируют использовать разные навигационные панели. Некоторые из них основаны на жестах. Полностью переходить на данный вариант управления не стоит. Виртуальные кнопки при определенных настройках способны не только выполнять положенные главные опции. Их можно включить, скрыть и настраивать на осуществление дополнительных действий.
Многие гаджеты под управлением OS Android сегодня лишены аппаратных кнопок навигации. Разработчики девайсов стремятся увеличить диагональ дисплея, но при этом сохранить небольшой размер самого гаджета, поэтому навигационная панель во многих смартфонах и планшетах реализуется программно. Она занимает часть дисплея, которую можно было бы использовать для игр или просмотра информации, но её легко можно убрать — об этом далее.
GMD Full Screen Immersive Mode
Простая утилита, которая настраивается за несколько кликов. Позволяет спрятать навигационную панель, освободив пространство на дисплее гаджета под нужды пользователя. Не требует root-прав, в отличие от большинства остальных, но и не всегда стабильно работает.
Возможности:
- скрывает навигационную панель, а также панель состояния вверху дисплея;
- может подстраиваться под каждое конкретное приложение, обеспечивая полноэкранный режим в любой программе;
- панели «прячутся» под соответствующий край дисплея, а их триггер может настраиваться пользователем по своему усмотрению;
- настройки отображения для каждого приложения можно регулировать через панель в шторке уведомлений.
Преимущества:
- не требует root-прав;
- устанавливает базовую навигационную панель OS Android, за счёт чего не ухудшается быстродействие системы;
- индивидуально настраивается для каждого приложения, установленного в системе, в платной версии.
Недостатки:
- не всегда стабильно работает, в некоторых приложениях блокирует работу тачскрина;
- не позволяет использовать клавиатуру для ввода в полноэкранном режиме.
Первый запуск:
После установки и запуска приложения в меню выбрать пункт «General», затем включить «Start on Boot» (для запуска при загрузке системы) и «Notification» (для отображения панели в шторке уведомлений);
Запустить стороннее приложение, открыть шторку и выбрать в панели GMD режим работы.
https://play.google.com/store/apps/details?id=com.gmd.immersive
Fulscrn Free
Приложение полностью скрывает с экрана панель навигации и панель состояния, освобождая всё пространство дисплея. Обе панели разворачиваются после свайпа сверху или снизу дисплея. Утилита не требует root-прав и отлично работает с Android 6 Marshmallow.
Возможности:
- полностью скрывает панели состояния и навигации с экрана;
- отображается в шторке уведомлений, что позволяет в любой момент включать и выключать полноэкранный режим в любом приложении;
- в платной версии можно отключать скрытие панели состояния в полноэкранном режиме, а также включать автозапуск fullscreen-режима при активизации дисплея или оставлять дисплей активным при работающем приложении.
Преимущества:
- готово к использованию «из коробки», не требует root-прав;
- не нагружает систему и работает максимально стабильно даже на Android 6 Marshmallow;
- постоянно обновляется и дорабатывается создателями;
- легко включается/выключается через панель в шторке уведомлений.
Недостатки:
- в бесплатной версии всегда скрывается статус-бар в полноэкранном режиме, а также присутствует реклама и не работают некоторые функции;
- в полноэкранном режиме не работает физическая кнопка «назад» (если она есть), а также не запускается экранная клавиатура;
- нет настройки автозапуска полноэкранного режима для заданных приложений.
Первый запуск:
После инсталляции приложения его нужно запустить и активировать переключатель, который и включит полноэкранный режим. После этого изменять режим отображения можно через панель в шторке.
https://play.google.com/store/apps/details?id=me.dt2dev.fullscreen.free
Full!screen
Приложение, которое отличается от двух приведённых выше, поскольку оно изменяет вид панели навигации, превращая её в две отдельные кнопки по бокам гаджета. Требует наличия root-прав для работы. Работает стабильно, постоянно обновляется и дорабатывается.
Возможности:
- превращает панели навигации и состояния в две отдельные кнопки;
- позволяет настраивать содержимое кнопок и их местоположение;
- имеет огромное количество параметров для точной настройки, за счёт чего для каждого движения пальцем по экрану можно предусмотреть своё действие.
Преимущества:
- можно превращать панели как в отдельные кнопки, так и в радиальные меню по бокам девайса, в которых будет содержаться несколько кнопок;
- в платной версии можно выбрать приложения, для которых полноэкранный режим включится автоматически;
- не скрывает полностью панели с дисплея гаджета, что упрощает работу с ним для посторонних людей;
- можно настроить отображение полноценной панели по свайпу.
Недостатки:
- в некоторых приложениях «ползёт» разметка — отрисовка кнопок не соответствует их реальному положению;
- всегда скрывается статус-бар вместе с панелью навигации.
Первый запуск:
После установки приложения панели навигации и состояния превращаются в две кнопки по углам дисплея, изменить назначение и функции которых можно через настройки Full!screen.
https://play.google.com/store/apps/details?id=de.tsorn.FullScreen
GMD Auto Hide Soft Keys
Утилита, аналогичная по функциям Fulscrn Free. Позволяет скрывать панели навигации и состояния. В шторке уведомлений есть панель, в которой в 1 клик можно выбрать разные комбинации скрытия/отображения панелей. Требует наличия root-прав, не очень стабильно работает на Android 6.
Возможности:
- отображает в полноэкранном режиме на месте панелей небольшие триггеры;
- имеет большой «арсенал» настроек: можно изменять размер панели управления в шторке уведомлений, настраивать расположение и размер триггера, добавлять приложение в автозагрузку и другое;
- очень похоже на GMD Full Screen Immersive Mode по функциям, вот только работает стабильнее;
- в платной версии можно отключать отображение триггера и панели в шторке уведомлений.
Преимущества:
- гибкие настройки, особенно в полной версии;
- функциональная панель в шторке уведомлений, которая позволяет выбирать один из 4 режимов отображения (у Fulscrn Free там доступен только переключатель вкл/выкл);
- минимальные ограничения в бесплатной версии по сравнению с платной.
Недостатки:
- плохая работа с Android 6 Marshmallow;
- для работы необходимо наличие root-прав;
- обязательное отображение триггера в бесплатной версии;
- отсутствие обновлений от производителя после 2015 года.
Первый запуск:
После установки приложения и его запуска нужно включить полноэкранный режим, затем вариант отображения можно будет настраивать через шторку уведомлений.
https://play.google.com/store/apps/details?id=com.gmd.hidesoftkeys
https://play.google.com/store/apps/details?id=de.tsorn.FullScreen
Hide System Bar (Full Screen)
Приложение работает в двух режимах: обычный не требует наличия root-прав и подразумевает временное скрытие системных панелей, а супер-режим работает только при наличии root-доступа и используется для постоянного скрытия виртуальных панелей.
Возможности:
в обычном режиме:
- быстрое переключение между полноэкранным режимом и стандартным;
- скрытие панели уведомления;
- создание виджета для переключения режимов;
- скрывание системных панелей в момент загрузки.
в супер-режиме:
- весь функционал обычного режима, вот только панели здесь не просто скрываются, а могут ещё и использоваться;
- подмена реальной панели навигации на виртуальную, которая открывается после свайпа снизу.
Преимущества:
- работает как при наличии root-прав, так и без них, правда имеет немного разный функционал;
- минимум настроек и достаточно стабильная работа на Android 4.0-4.4;
- возможность переключения режимов отображения одной кнопкой на рабочем столе.
Недостатки:
- в нормальном режиме можно только скрывать панели, они не отображаются при свайпах и не могут использоваться до момента выключения полноэкранного режима;
- плохо работает на версиях Android выше 4.4;
- не обновлялось с 2014 года;
- не всегда отображает экранную клавиатуру в полноэкранном режиме.
Первый запуск:
Сразу после установки приложение запускается, в настройках выставляется режим отображения и создаётся виджет на рабочем столе, через который и переключаются режимы в будущем.
https://play.google.com/store/apps/details?id=com.dreamori.hidebar
- Tutorial
Попробуем, пользуясь официальным руководством и примерами кода, построить работающую систему навигации для будущего многоэкранного приложения в соответствии со стандартами Navigation Architecture Component. Статья включает следующие разделы: Часть 1. Подготовительные работыЧасть 2. Элементы навигацииКраткие выводы и ссылка на github
Часть 1. Подготовительные работы
1.1. Создание проекта
Нам понадобятся базовые знания Котлина, IDE Android Studio версии не ниже 3.3, смартфон или эмулятор с версией API 14 или выше. Создадим в Android Studio новый проект под названием «Navigation2019».
IDE создаст файл главной активности «MainActivity.kt» и его макет (шаблон) «activity_main.xml».
1.2. Зависимости (Dependencies)
Откроем файл «build.gradle» модуля (не проекта, а именно модуля) и в блок «dependencies» добавим необходимые зависимости:
def nav_version = «1.0.0» implementation «android.arch.navigation:navigation-fragment-ktx:$nav_version» implementation «android.arch.navigation:navigation-ui-ktx:$nav_version»
Мы использовали библиотеки версии 1.0.0, но в будущем ситуация может измениться. Проверить, какие версии библиотек являются актуальными, можно здесь.
1.3. Страницы: создание фрагментов
Фрагменты — это «страницы» нашего будущего приложения. Кликнув правой кнопкой на каталоге с файлами классов, командой «New -> Fragment -> Fragment(Blank)» создадим «Fragment1».
IDE создаст kt-файл с классом фрагмента и xml-файл с макетом фрагмента. Таким же образом сгенерируем ещё три фрагмента («Fragment2», «Fragment3», «Fragment4»). Мы будем использовать их для создания четырёх разных типов навигации по приложению.
1.4. Адреса: файл ресурсов типа «Navigation»
Кликнув правой кнопкой мыши по папке «res», создадим файл ресурсов типа «Navigation» с названием «routes.xml» («маршруты»).
Откроем созданный файл и с помощью кнопки «New Destination» добавим в навигационную схему наши фрагменты. «Хватаясь» мышкой за точку в середине правой стороны фрагмента, соединим фрагменты друг с другом так, как они должны быть связаны в приложении. В соответствии с их названиями, наши фрагменты получат идентификаторы (id) «fragment1», «fragment2», «fragment3», «fragment4». Это «адреса», которые будут использоваться при указании пунктов назначения («destinations») в инструкциях навигационному контроллеру. Кроме «id», каждый тег «fragment» содержит ещё три параметра: «name», «label» и «layout». Параметры «name» и «layout» нас сейчас не интересуют. Единственное, что стоит отредактировать в файле «routes.xml» — это названия («label») фрагментов. Заменим их на «Фрагмент №1», «Фрагмент №2», «Фрагмент №3» и «Фрагмент №4».
1.5. Фрейм: виджет NavHostFragment
Откроем файл макета «res/layout/activity_main.xml» и удалим текстовый виджет «Hello World!», он нам не понадобится. В палитре (Palette) выберем раздел «Контейнеры» (Containers) и перетащим оттуда на макет активности виджет NavHostFragment (указав наш файл «routes» в качестве источника информации для него). Он выполнит роль фрейма, в котором будут выводиться различные фрагменты приложения.
Изменим id фрагмента на «navFragment». Код макета главной активности будет выглядеть теперь так: На этом подготовительные работы завершены, теперь можно приступать непосредственно к созданию элементов навигации.
Часть 2. Элементы навигации
2.1. Навигация с помощью кнопок
Откроем макет первого фрагмента («fragment_fragment1.xml»). Удалим ненужный текстовый виджет, изменим тип макета с «FrameLayout» на линейный вертикальный и добавим три кнопки с идентификаторами «button2», «button3», «button4» и соответствующими названиями «Фрагмент 2», «Фрагмент 3», «Фрагмент 4». В методе «onCreateView» фрагмента получим ссылку на навигационный контроллер (объект «NavController») и запрограммируем поведение при нажатии на кнопки: командой «setOnClickListener» для каждой кнопки создадим слушателя кнопки, который при клике по кнопке будет передавать навигационному контроллеру адрес (id) точки назначения вместе с командой переместиться (navigate) на указанный адрес. Проверим, как работают наши кнопки. Одна кнопка — одна строчка кода — и клик по кнопке перемещает нас к указанному фрагменту. Просто, не так ли? Но без меню не очень удобно, приходится использовать кнопку «Назад» для возвращения на стартовый экран.
2.2. Боковое меню (drawer)
2.2.1. Ресурсный файл меню
В каталоге «res/menu» создадим ресурсный файл меню «drawer_menu.xml». Добавим в него пункты меню, каждый из которых представляет собой тег «item» с параметрами «id» (должен соответствовать таковому в навигационном графе «routes.xml», «title» (заголовок, он может быть другим), «icon» (мы используем одну и ту же картинку для всех пунктов, но, конечно же, они могут быть разными) и др. Наше меню будет выглядеть так:
2.2.2. Шаблон DrawerLayout и виджет NavigationView в макете активности
Откроем файл макета активности «activity_main.xml». После первого тега (xml version…) добавим начало тега «DrawerLayout». В конец файла добавим виджет «NavigationView» и окончание тега «DrawerLayout».
2.2.3. Подключение бокового меню в классе активности
Откроем файл «MainActivity.kt» и в методе «onCreate» получим ссылку на «navController» (в активности это выглядит чуть сложнее, чем было во фрагментах). Затем включим боковое меню: Код класса теперь выглядит так: Теперь меню появляется в ответ на свайп от левого края экрана: Хорошо было бы добавить и кнопку слева-вверху для вызова бокового меню, верно?
2.3. Кнопка и название фрагмента на панели инструментов
Существующий по умолчанию ActionBar, как рекомендует официальное руководство, заменим на Toolbar. Чтобы отключить существующий ActionBar, в файле «res/values/styles.xml» найдём строку
и заменим «DarkActionBar» на «NoActionBar». Отлично, ActionBar мы отключили. Теперь добавим Toolbar. Откроем файл «activity_main.xml», в палитре (Palette) выберем раздел «Контейнеры» (Containers) и перетащим оттуда на макет активности виджет «Toolbar». Панель инструментов добавлена, но она пока пуста. Переходим в файл активности «MainActivity.kt». Чтобы на Toolbar вывести кнопку и название текущего фрагмента, в метод «onCreate()» добавим следующие строки: Toolbar теперь выводит название фрагмента и кнопку «Вверх» (Up) для вложенных фрагментов. Кнопка «вверх» в android’е почему-то обозначается стрелкой «влево»: Чтобы на стартовом экране приложения выводилась кнопка-гамбургер, нам необходимо в конфигурацию панели инструментов добавить параметр «drawerLayout», который содержит id виджета DrawerLayout из файла «activity_main.xml».
Клик по этой кнопке выводит боковое меню.
2.4. Нижнее меню (Bottom Navigation)
Иногда бывает необходимо акцентировать внимание пользователя на определённых действиях, и эффективно сделать это помогает нижнее меню. Добавим его в третий фрагмент. Сначала создадим ресурсный файл меню «bottom_nav_menu.xml» с парой ссылок. Затем откроем макет фрагмента №3 (файл «fragment_fragment3.xml») и перетащим на него виджет «BottomNavigationView», попутно согласившись с предложением IDE добавить в dependencies библиотеку «com.android.support:design». Если бы мы создавали нижнее меню не для одного фрагмента, а сразу для всех, то в метод «onCreate» класса активности (файл «MainActivity.kt») нужно было бы включить следующий код: Конечно, и виджет «BottomNavigationView» в таком случае надо было бы поместить в макет активности, а не фрагмента. Но поскольку данное меню нам требуется только во фрагменте №3, то и редактировать мы будем класс фрагмента (файл «Fragment3.kt»), а код будет выглядеть чуть сложнее: В итоге мы получим нижнее меню, которое будет выводиться только в 3-м фрагменте. То же самое, но с другими ссылками, сделаем и в 4-м фрагменте.
2.5. Всплывающее меню (Overflow Menu)
Ещё один вид меню — всплывающее меню, которое выводится при клике по кнопке (трём вертикально расположенным точкам) в правом верхнем углу экрана. Создадим ресурсный файл меню «top_right_menu.xml» с необходимыми ссылками. В файле «MainActivity» в метод «onCreate» перед «toolBar.setupWithNavController…» добавим строку «setSupportActionBar(toolBar)». И далее в этом же классе переопределим два метода: Нажатие на верхнюю правую кнопку теперь отображает всплывающее меню:
Краткие выводы и ссылка на github
Очевидно, что Navigation Architecture Component существенно облегчает труд разработчика. Сложные в прошлом задачи теперь решаются несколькими строчками кода. Поскольку главной целью данной публикации было осветить базовые алгоритмы создания навигации в android-приложении, многие детали реализации были умышленно оставлены за кадром. Мой график работы обычно не позволяет поддерживать дискуссии, но Ваши комментарии в любом случае будут полезны для посетителей сайта и потому всегда приветствуются. Файлы проекта находятся здесь.
The best quick settings for Android.Take control of your phone or table in a simple, fast and easy way.Quick access the personalization options using the quick settings that works like to the new Android 4.2 feature.Quick access the ringtone, volume and bright adjustments selector.The screen timeout control allow more options.The volume Control allow change the in-call volumen.Access all Android settings and customization easily and intuitivelyQuick panel with 13 system toggle options included Mobile Data Toggle, AirPlane Mode Toggle, WI-FI toggle and Bluetooth toggle.Ringtone selector for call, notifications and alarms.Quick access to battery usage statistics.You can launch the quick settings and controls from any launcher that supports gesture such as Nova and Apex.
Brazilian Portuguese translation by Fabricio Carvalho Ferreira
What’s New
Download APK
Additional information
Name Control Panel Package com.joel.easypanel Version 1.08 Size 796.35 KB Installs 100,000+ downloads Developed By Joel Pichardo
Используемые источники:
- https://4pda.biz/programs/sistemnye/utility/4539-simple-control.html
- https://phone-insider.com/knopki-navigacii-android.html
- https://android-manual.org/soft-review/hide-nav-panel
- https://habr.com/post/449776/
- https://www.appsapk.com/control-panel-for-android/
Содержание
- Способ 1: Системные средства
- Samsung
- Huawei
- Xiaomi
- Способ 2: ADB
- Вопросы и ответы
Способ 1: Системные средства
Многие производители расширяют в своих оболочках функциональные возможности, в том числе позволяя изменять порядок кнопок навигационной панели.
Samsung
На смартфонах Самсунг процедура выполняется следующим образом:
- Откройте «Настройки» — например, через шторку устройства.
- Прокрутите перечень до пункта «Дисплей» («Display») и тапните по нему.
- Далее воспользуйтесь параметром «Навигационная панель» («Navigation Bar»).
- Теперь перейдите к блоку «Порядок кнопок» («Button order») и выберите вариант, который вам наиболее подходит. К сожалению, самостоятельно определить положение нельзя.
Изменения применяются моментально.
Huawei
- Запустите средство управления параметрами телефона.
- Пролистайте список вниз и выберите пункт «Система и обновления».
- Тапните «Системная навигация».
- Перейдите к опции «Три навигационные кнопки».
- Здесь укажите предпочитаемый вариант.
В оболочке Хуавей тоже нельзя произвольно выбирать расположение кнопок.
Xiaomi
На устройствах Сяоми тоже имеется соответствующая опция.
- Откройте приложение «Настройки».
- Далее выберите «Расширенные настройки».
- Воспользуйтесь пунктом «Безграничный экран».
- Убедитесь, что активен вариант «Кнопки», затем тапните по переключателю «Поменять местами кнопки меню и назад».
К сожалению, в чистом Android нет никаких системных возможностей изменить расположение кнопок.
Способ 2: ADB
Необычным способом перемещения элементов навигационной панели будет использование средства Android Debug Bridge.
Скачать ADB
- Убедитесь, что на целевом телефоне включена отладка по USB, а на компьютере установлены соответствующие драйвера.
Подробнее:
Как включить отладку по USB на Android
Установка драйверов для прошивки Android - Откройте «Командную строку» от имени администратора – например, найдите компонент через «Поиск», затем воспользуйтесь одноимённой опцией запуска.
Подробнее: Как запустить «Командную строку» от имени администратора в Windows 7 и Windows 10
- В интерфейсе ввода команд перейдите к папке с ADB, после чего введите команду adb devices.
Должен появиться список, в котором будет отображаться подключённое устройство.
- Далее пропишите следующее:
adb shell
settings put secure sysui_nav_bar "space,recent;home;back,space"Проверьте правильность ввода и нажмите Enter.
- Разблокируйте девайс и посмотрите на навбар – кнопки «Недавние приложения» и «Назад» будут перемещены.
Вариант с Android Debug Bridge подходит владельцам чистого «зелёного робота».
Еще статьи по данной теме:
Помогла ли Вам статья?
We all have come across apps that have a Bottom Navigation Bar. Some popular examples include Instagram, WhatsApp, etc. In this article, let’s learn how to implement such a functional Bottom Navigation Bar in the Android app. Below is the preview of a sample Bottom Navigation Bar:
Why do we need a Bottom Navigation Bar?
- It allows the user to switch to different activities/fragments easily.
- It makes the user aware of the different screens available in the app.
- The user is able to check which screen are they on at the moment.
The following is an anatomy diagram for the Bottom Navigation Bar:
Steps for Creating Bottom Navigation Bar
Step 1: Create a new Android Studio project
To create a new project in Android Studio please refer to How to Create/Start a New Project in Android Studio.
Step 2: Adding the dependency to the build.gradle(:app) file
We will be using Android’s Material Design Library so we need to import it in the build.gradle(:app) file. Here’s the dependency we need to add:
implementation ‘com.google.android.material:material:1.2.0’
Step 3: Working with activity_main.xml file
For this example, create a basic app with a FrameLayout and a Bottom Navigation Bar. The FrameLayout will contain Fragments which will change as the user click on the items in the Bottom Navigation Bar. This is how the activity_main.xml looks like:
XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<FrameLayout
android:id="@+id/flFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/bottomNavigationView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="75dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:menu="@menu/bottom_nav_menu"/>
</androidx.constraintlayout.widget.ConstraintLayout>
Step 4: Creating a menu for the Bottom Navigation Bar
The Navigation Bar needs to have some items which will create using Menu. To create a Menu, first, create a Menu Directory by clicking on the app -> res(right-click) -> New -> Android Resource Directory and select Menu in the Resource Type.
To create a Menu Resource File , click on the app -> res -> menu(right-click) -> New -> Menu Resource File and name it bottom_nav_menu.
Now the user can create as many items as he wants in the bottom_nav_menu.xml file. The user also needs to create an icon for each of these items. To create an icon, click on the app -> res -> drawable(right-click) -> New -> Image Asset.
In the window that opens, the user can name the icon whatever he wants but it should not comprise any uppercase letter. The user can select the icon he wants by searching it and when the user is done, click Next-> Finish.
Now add these items in the bottom_nav_menu.xml. This is how the bottom_nav_menu.xml file looks like after adding the items:
XML
<?xml version="1.0" encoding="utf-8"?>
<item
android:id="@+id/person"
android:title="Person"
android:icon="@drawable/ic_person_foreground"/>
<item
android:id="@+id/home"
android:title="Home"
android:icon="@drawable/ic_home_foreground"/>
<item
android:id="@+id/settings"
android:title="Settings"
android:icon="@drawable/ic_settings_foreground"/>
</menu>
Step 5: Changing the Action Bar style
Since we are using Google’s Material Design Library, we need to change the action bar’s style to use the same library otherwise the Bottom Navigation Bar will be black and its items will be invisible. To change it, navigate to styles.xml by clicking on the app -> res -> values -> styles.xml and change the style opening tag as:
<style name=”AppTheme” parent=”Theme.MaterialComponents.Light.DarkActionBar”>
This is how the styles.xml file looks like:
XML
<resources>
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
Step 6: Creating Fragments to display
Now that we have our Bottom Navigation Bar, we would want it to be functional by taking us to a different fragment/activity when an item is clicked. In this example, create a fragment for each item and navigate to them whenever a corresponding item is clicked. Since we created three items in the Bottom Navigation Bar, we will be creating three Fragments. To create a Fragment, click on the app(right-click) -> New -> Fragment -> Fragment (Blank). Name the fragment as FirstFragment and the corresponding XML file as fragment_first. To keep things simple, all three of the fragments will just contain a TextView. However, we can tweak this as we want it to be in the app. This is how the fragment_first.xml looks like after adding a TextView:
XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/firstFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Geeks for Geeks"
android:textColor="#43a047"
android:textSize="40sp"
android:textStyle="italic|bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Next, code the FirstFragment to display the fragment_first.xml. For this, delete all the previously written code in FirstFragment and replace it with the below code. The below code just takes the layout we created for our fragment and inflates it.
Note: If we want our fragment to have any logic or perform any task, we will add that code in our FirstFragment.
Kotlin
import androidx.fragment.app.Fragment
class FirstFragment:Fragment(R.layout.fragment_first) {
}
Java
import java.io.*;
import androidx.fragment.app.Fragment
public class FirstFragment extends Fragment {
public FirstFragment(){
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_first, container, false);
}
}
Similarly, create two more fragments for the remaining two items. Below are the fragment_second.xml, SecondFragment, fragment_third.xml, and ThirdFragment files respectively.
XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/secondFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data Structures"
android:textColor="#43a047"
android:textSize="40sp"
android:textStyle="italic|bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Kotlin
import androidx.fragment.app.Fragment
class SecondFragment:Fragment(R.layout.fragment_second) {
}
Java
import androidx.fragment.app.Fragment;
import java.io.*;
public class SecondFragment extends Fragment {
public SecondFragment(){
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_second, container, false);
}
}
XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/thirdFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Algorithms"
android:textColor="#43a047"
android:textSize="40sp"
android:textStyle="italic|bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Kotlin
import androidx.fragment.app.Fragment
class ThirdFragment:Fragment(R.layout.fragment_third) {
}
Java
import androidx.fragment.app.Fragment;
import java.io.*;
public class ThirdFragment extends Fragment {
public ThirdFragment(){
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_third, container, false);
}
}
Step 7: Working with the MainActivity file
Now we have everything that we need and lastly, we just need to code the MainActivity to connect everything to the application. Here, first, create a function called setCurrentFragment() that takes a Fragment as an argument and sets it in our FrameLayout of activity_main.xml file. Add a click listener to the items of the Bottom Navigation Bar so that we display the corresponding Fragment when an item is clicked. After adding all these codes, the MainActivity looks like this:
Kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.fragment.app.Fragment
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val firstFragment=FirstFragment()
val secondFragment=SecondFragment()
val thirdFragment=ThirdFragment()
setCurrentFragment(firstFragment)
bottomNavigationView.setOnNavigationItemSelectedListener {
when(it.itemId){
R.id.home->setCurrentFragment(firstFragment)
R.id.person->setCurrentFragment(secondFragment)
R.id.settings->setCurrentFragment(thirdFragment)
}
true
}
}
private fun setCurrentFragment(fragment:Fragment)=
supportFragmentManager.beginTransaction().apply {
replace(R.id.flFragment,fragment)
commit()
}
}
Java
import java.io.*;
import androidx.appcompat.app.AppCompatActivity;
import androidx.annotation.NonNull;
import com.example.Fragment.*;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import android.os.Bundle;
import android.view.MenuItem;
public class MainActivity extends AppCompatActivity implements BottomNavigationView.OnNavigationItemSelectedListener {
BottomNavigationView bottomNavigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bottomNavigationView = findViewById(R.id.bottomNavigationView);
bottomNavigationView.setOnNavigationItemSelectedListener(this);
bottomNavigationView.setSelectedItemId(R.id.person);
}
FirstFragment firstFragment = new FirstFragment();
SecondFragment secondFragment = new SecondFragment();
ThirdFragment thirdFragment = new ThirdFragment();
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.person:
getSupportFragmentManager().beginTransaction().replace(R.id.container, firstFragment).commit();
return true;
case R.id.home:
getSupportFragmentManager().beginTransaction().replace(R.id.container, secondFragment).commit();
return true;
case R.id.settings:
getSupportFragmentManager().beginTransaction().replace(R.id.container, thirdFragment).commit();
return true;
}
return false;
}
}
Output:
We all have come across apps that have a Bottom Navigation Bar. Some popular examples include Instagram, WhatsApp, etc. In this article, let’s learn how to implement such a functional Bottom Navigation Bar in the Android app. Below is the preview of a sample Bottom Navigation Bar:
Why do we need a Bottom Navigation Bar?
- It allows the user to switch to different activities/fragments easily.
- It makes the user aware of the different screens available in the app.
- The user is able to check which screen are they on at the moment.
The following is an anatomy diagram for the Bottom Navigation Bar:
Steps for Creating Bottom Navigation Bar
Step 1: Create a new Android Studio project
To create a new project in Android Studio please refer to How to Create/Start a New Project in Android Studio.
Step 2: Adding the dependency to the build.gradle(:app) file
We will be using Android’s Material Design Library so we need to import it in the build.gradle(:app) file. Here’s the dependency we need to add:
implementation ‘com.google.android.material:material:1.2.0’
Step 3: Working with activity_main.xml file
For this example, create a basic app with a FrameLayout and a Bottom Navigation Bar. The FrameLayout will contain Fragments which will change as the user click on the items in the Bottom Navigation Bar. This is how the activity_main.xml looks like:
XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<FrameLayout
android:id="@+id/flFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/bottomNavigationView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="75dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:menu="@menu/bottom_nav_menu"/>
</androidx.constraintlayout.widget.ConstraintLayout>
Step 4: Creating a menu for the Bottom Navigation Bar
The Navigation Bar needs to have some items which will create using Menu. To create a Menu, first, create a Menu Directory by clicking on the app -> res(right-click) -> New -> Android Resource Directory and select Menu in the Resource Type.
To create a Menu Resource File , click on the app -> res -> menu(right-click) -> New -> Menu Resource File and name it bottom_nav_menu.
Now the user can create as many items as he wants in the bottom_nav_menu.xml file. The user also needs to create an icon for each of these items. To create an icon, click on the app -> res -> drawable(right-click) -> New -> Image Asset.
In the window that opens, the user can name the icon whatever he wants but it should not comprise any uppercase letter. The user can select the icon he wants by searching it and when the user is done, click Next-> Finish.
Now add these items in the bottom_nav_menu.xml. This is how the bottom_nav_menu.xml file looks like after adding the items:
XML
<?xml version="1.0" encoding="utf-8"?>
<item
android:id="@+id/person"
android:title="Person"
android:icon="@drawable/ic_person_foreground"/>
<item
android:id="@+id/home"
android:title="Home"
android:icon="@drawable/ic_home_foreground"/>
<item
android:id="@+id/settings"
android:title="Settings"
android:icon="@drawable/ic_settings_foreground"/>
</menu>
Step 5: Changing the Action Bar style
Since we are using Google’s Material Design Library, we need to change the action bar’s style to use the same library otherwise the Bottom Navigation Bar will be black and its items will be invisible. To change it, navigate to styles.xml by clicking on the app -> res -> values -> styles.xml and change the style opening tag as:
<style name=”AppTheme” parent=”Theme.MaterialComponents.Light.DarkActionBar”>
This is how the styles.xml file looks like:
XML
<resources>
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
Step 6: Creating Fragments to display
Now that we have our Bottom Navigation Bar, we would want it to be functional by taking us to a different fragment/activity when an item is clicked. In this example, create a fragment for each item and navigate to them whenever a corresponding item is clicked. Since we created three items in the Bottom Navigation Bar, we will be creating three Fragments. To create a Fragment, click on the app(right-click) -> New -> Fragment -> Fragment (Blank). Name the fragment as FirstFragment and the corresponding XML file as fragment_first. To keep things simple, all three of the fragments will just contain a TextView. However, we can tweak this as we want it to be in the app. This is how the fragment_first.xml looks like after adding a TextView:
XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/firstFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Geeks for Geeks"
android:textColor="#43a047"
android:textSize="40sp"
android:textStyle="italic|bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Next, code the FirstFragment to display the fragment_first.xml. For this, delete all the previously written code in FirstFragment and replace it with the below code. The below code just takes the layout we created for our fragment and inflates it.
Note: If we want our fragment to have any logic or perform any task, we will add that code in our FirstFragment.
Kotlin
import androidx.fragment.app.Fragment
class FirstFragment:Fragment(R.layout.fragment_first) {
}
Java
import java.io.*;
import androidx.fragment.app.Fragment
public class FirstFragment extends Fragment {
public FirstFragment(){
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_first, container, false);
}
}
Similarly, create two more fragments for the remaining two items. Below are the fragment_second.xml, SecondFragment, fragment_third.xml, and ThirdFragment files respectively.
XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/secondFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data Structures"
android:textColor="#43a047"
android:textSize="40sp"
android:textStyle="italic|bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Kotlin
import androidx.fragment.app.Fragment
class SecondFragment:Fragment(R.layout.fragment_second) {
}
Java
import androidx.fragment.app.Fragment;
import java.io.*;
public class SecondFragment extends Fragment {
public SecondFragment(){
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_second, container, false);
}
}
XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/thirdFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Algorithms"
android:textColor="#43a047"
android:textSize="40sp"
android:textStyle="italic|bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Kotlin
import androidx.fragment.app.Fragment
class ThirdFragment:Fragment(R.layout.fragment_third) {
}
Java
import androidx.fragment.app.Fragment;
import java.io.*;
public class ThirdFragment extends Fragment {
public ThirdFragment(){
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_third, container, false);
}
}
Step 7: Working with the MainActivity file
Now we have everything that we need and lastly, we just need to code the MainActivity to connect everything to the application. Here, first, create a function called setCurrentFragment() that takes a Fragment as an argument and sets it in our FrameLayout of activity_main.xml file. Add a click listener to the items of the Bottom Navigation Bar so that we display the corresponding Fragment when an item is clicked. After adding all these codes, the MainActivity looks like this:
Kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.fragment.app.Fragment
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val firstFragment=FirstFragment()
val secondFragment=SecondFragment()
val thirdFragment=ThirdFragment()
setCurrentFragment(firstFragment)
bottomNavigationView.setOnNavigationItemSelectedListener {
when(it.itemId){
R.id.home->setCurrentFragment(firstFragment)
R.id.person->setCurrentFragment(secondFragment)
R.id.settings->setCurrentFragment(thirdFragment)
}
true
}
}
private fun setCurrentFragment(fragment:Fragment)=
supportFragmentManager.beginTransaction().apply {
replace(R.id.flFragment,fragment)
commit()
}
}
Java
import java.io.*;
import androidx.appcompat.app.AppCompatActivity;
import androidx.annotation.NonNull;
import com.example.Fragment.*;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import android.os.Bundle;
import android.view.MenuItem;
public class MainActivity extends AppCompatActivity implements BottomNavigationView.OnNavigationItemSelectedListener {
BottomNavigationView bottomNavigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bottomNavigationView = findViewById(R.id.bottomNavigationView);
bottomNavigationView.setOnNavigationItemSelectedListener(this);
bottomNavigationView.setSelectedItemId(R.id.person);
}
FirstFragment firstFragment = new FirstFragment();
SecondFragment secondFragment = new SecondFragment();
ThirdFragment thirdFragment = new ThirdFragment();
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.person:
getSupportFragmentManager().beginTransaction().replace(R.id.container, firstFragment).commit();
return true;
case R.id.home:
getSupportFragmentManager().beginTransaction().replace(R.id.container, secondFragment).commit();
return true;
case R.id.settings:
getSupportFragmentManager().beginTransaction().replace(R.id.container, thirdFragment).commit();
return true;
}
return false;
}
}
Output:




































































































