Repolode
mikepenz

mikepenz/MaterialDrawer

A Kotlin/Android library that adds a configurable navigation drawer with profiles, badges, and expandable items to your app.

Stars
11,638
Forks
2,009
Open issues
12
Last commit
4 days ago

What is it?

MaterialDrawer is an Android library for building the navigation drawer that slides in from the edge of a screen. It is built on RecyclerView and the AndroidX support libraries, and you add a MaterialDrawerSliderView as a child of a DrawerLayout to get a working drawer with default item types.

The library covers common drawer needs: primary and secondary items, dividers, badges, expandable items, sticky footers and headers, and an AccountHeader with profile switching. Colors and text styles can be changed through theme attributes, and a MiniDrawer style is included. Icons can come from vector assets or from icon fonts through the Android-Iconics integration, and there is an optional NavController module.

The project provides Kotlin and Material 3 versions, with older Java-based releases also listed. Setup requires a Material 3 theme for v9.x and a JVM target of 1.8 or higher for newer releases.

Key features

  • 01Drawer items including primary, secondary, dividers, badges, and expandable entries
  • 02AccountHeader with profile list and switching
  • 03Sticky footer and header support
  • 04Icons from vector assets or icon fonts via Android-Iconics
  • 05Themeable colors and styles, with a MiniDrawer variant and RTL support

Use cases

  • Adding a side navigation menu to an Android app with account switching
  • Building a Gmail-style collapsible mini drawer
  • Integrating a navigation drawer with Jetpack Navigation via the NavController module

Quick start

  1. 1

    Add the materialdrawer dependency to your Gradle file

    implementation("com.mikepenz:materialdrawer:${latestRelease}")
  2. 2

    Add the MaterialDrawerSliderView as a child of your DrawerLayout in the XML layout

  3. 3

    Add the materialDrawerStyle and materialDrawerHeaderStyle items to your app theme

Things to know

  • Android-only library that requires Kotlin and the AndroidX support libraries.
  • Version 9.x with Material 3 theming requires a Material3 theme as the activity's base theme.
  • The latest release listed is a beta (v10.0.0-b01), and the Java and older Kotlin versions are provided as-is only.
  • Loading profile images from URLs requires you to add and configure your own image loading library.

In collections

Topics

#android#kotlin#material-design#navigation-drawer#ui-components#android-library#android-development#android-ui#drawer#drawer-support

FAQ

What is MaterialDrawer?
A Kotlin/Android library that adds a configurable navigation drawer with profiles, badges, and expandable items to your app. MaterialDrawer is an Android library for building the navigation drawer that slides in from the edge of a screen. It is built on RecyclerView and the AndroidX support libraries, and you add a MaterialDrawerSliderView as a child of a DrawerLayout to get a working drawer with default item types.
Is MaterialDrawer free to use? What license does it have?
MaterialDrawer is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is MaterialDrawer still maintained?
Actively maintained. The last commit to MaterialDrawer was on Nov 2, 2026.
What can I use MaterialDrawer for?
Adding a side navigation menu to an Android app with account switching Building a Gmail-style collapsible mini drawer Integrating a navigation drawer with Jetpack Navigation via the NavController module
How do I install MaterialDrawer?
Add the materialdrawer dependency to your Gradle file: implementation("com.mikepenz:materialdrawer:${latestRelease}") Add the MaterialDrawerSliderView as a child of your DrawerLayout in the XML layout Add the materialDrawerStyle and materialDrawerHeaderStyle items to your app theme
Where can I get MaterialDrawer?
The source code and installation instructions are on GitHub: https://github.com/mikepenz/MaterialDrawer

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects