Изучите самый простой способ реализовать Nav Drawer в ваших приложениях

Что такое панель навигации?

Панель навигации - это не что иное, как панель параметров на левом краю экрана. Обычно он скрыт от просмотра, однако может быть обнаружен, когда пользователь проводит пальцем слева или щелкает значок «гамбургер». Также, если на экране достаточно места, например, рассмотрите планшет в ландшафтном режиме, чтобы здесь мы могли постоянно отображать панель навигации, не скрывая ее. Обычно он упоминается под множеством названий, таких как Nav Drawer, Nav menu, Left Nav, Navigation Menu и т. Д.

Зачем нам нужен навигационный ящик?

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

Как реализовать панель навигации?

Панель навигации - это не что иное, как контейнер, в котором находится наше меню навигации. Либо мы можем использовать NavigationView для создания настраиваемого меню, либо мы можем просто использовать RecyclerView для предоставления пунктов меню. Давайте проверим реализацию с помощью представления навигации. Вид навигации - это виджет, предоставляемый Android, который мы можем использовать внутри ящика. Это чаще всего используется в сочетании с DrawerLayout при реализации ящиков навигации по материалам. Представление навигации позволяет очень легко создать меню навигации внутри вашего приложения.

Перед тем, как перейти к реализации, мы должны быть уверены в нескольких вещах, связанных с элементами навигации. Каждый элемент в боковой панели навигации должен иметь определенное назначение и свойства, которые должны их определять. Давайте сначала проверим свойства. Боковой элемент навигации должен иметь имя, значок для отображения и идентификатор для идентификации. Мы можем предоставить элементы навигации через файл меню и обработать щелчок с помощью обратных вызовов, это было бы проще. Но здесь давайте настроим RecyclerView, чтобы предоставить элементы, которые мы можем настроить в соответствии с нашими требованиями.

Реализация

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

Шаг 1:

Давайте определим класс модели, который содержит свойства бокового навигационного элемента.

Шаг 2:

Добавьте необходимые зависимости в файл build.gradle на уровне приложения или модуля.

FragmentContainerView - это настраиваемый макет, предназначенный для обработки фрагментов. Узнайте больше о FragmentContainerView. Используя это, нам не нужно добавлять SideNavFragment программно.

Шаг 3. Настройка DasBoardActivity

Создайте файл макета для размещения представления навигации. Это был макет, используемый HomeActivity или DashboardActivity.

В FragmentContainerView был атрибут под названием name, который определяет путь к классу, который будет размещен как SideNavFragment. И действие будет выглядеть примерно так, как показано ниже

Шаг 4:

Давайте реализуем файл макета для SideNavFragment.

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

Шаг 5:

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

Шаг 6:

Последний шаг создания адаптера Nav Items с файлом макета.

Создайте файл макета элемента в зависимости от того, как вы хотите, чтобы элемент отображался.

Пришло время для SideNavAdapter.

Резюме

Вот и все, мы закончили. Это была простая и настраиваемая реализация Side Nav. Если вы позже реализуете это с помощью какого-либо меню, если кто-то захочет настроить внешний вид элемента, это будет сложно. Так что, даже если на это уйдет немного времени, хорошо реализовать повторно используемый и настраиваемый код.

Если интересно, ознакомьтесь с моими постами о серии Kotlin

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

Вы можете найти меня в Medium и LinkedIn

Спасибо за прочтение…