Создайте выдвижное меню с помощью компонента панели навигации.

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

Рассмотрим эти три варианта использования панели навигации:

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

В Material Design существует два типа навигационных ящиков:

  • Стандартный: разделяет пространство на экране с другим содержимым.
  • Модальное: появляется поверх другого контента на экране.

Совместимость версий

Для этой реализации требуется, чтобы для minSDK вашего проекта был установлен уровень API 21 или выше.

Зависимости

Реализация навигационного ящика

Вы можете использовать компонуемый ModalNavigationDrawer для реализации навигационного ящика:

Ключевые моменты

  • Используйте слот drawerContent , чтобы предоставить ModalDrawerSheet и предоставить содержимое ящика.

  • ModalNavigationDrawer принимает ряд дополнительных параметров ящика. Например, вы можете переключить, будет ли ящик реагировать на перетаскивание с помощью gesturesEnabled , как показано в следующем примере:

Управление поведением панели навигации

Чтобы контролировать, как ящик открывается и закрывается, используйте DrawerState :

Ключевые моменты

  • Передайте DrawerState в ModalNavigationDrawer используя параметр drawerState .
  • DrawerState предоставляет доступ к функциям open и close , а также свойствам, связанным с текущим состоянием ящика. Для этих приостанавливающих функций требуется CoroutineScope , экземпляр которого можно создать с помощью rememberCoroutineScope . Вы также можете вызывать функции приостановки в ответ на события пользовательского интерфейса.

Результаты

Рисунок 1. Стандартный навигационный ящик (слева) и модальный навигационный ящик (справа).

Коллекции, содержащие это руководство

Это руководство является частью тщательно подобранной коллекции быстрых руководств, охватывающих более широкие цели разработки Android:

Узнайте, как компонуемые функции позволяют легко создавать красивые компоненты пользовательского интерфейса на основе системы проектирования Material Design.

Есть вопросы или отзывы

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