Repolode
mikepenz

mikepenz/MaterialDrawer

一个 Kotlin/Android 库,为应用快速添加可定制的导航抽屉,支持账户头部、徽章和可展开菜单项。

Star
11,638
Fork
2,009
未关闭 Issue
12
最近提交
5天前

这是什么?

MaterialDrawer 是一个 Android 库,用于构建从屏幕边缘滑出的导航抽屉。它基于 RecyclerView 和 AndroidX 支持库实现,只需在 DrawerLayout 中加入 MaterialDrawerSliderView,就能得到可直接使用的抽屉,并内置多种默认菜单项类型。

该库覆盖了常见的抽屉需求,包括一级和二级菜单项、分隔线、徽章、可展开项、粘性页脚与页头,以及支持切换用户的 AccountHeader。颜色和文字样式可通过主题属性修改,还提供 MiniDrawer 样式。图标既可以使用矢量资源,也可以通过 Android-Iconics 集成使用图标字体,另有可选的 NavController 模块。

项目提供 Kotlin 和 Material 3 版本,旧版 Java 发布版本也仍可查阅。v9.x 需要 Material 3 主题作为基础,新版本要求 JVM 目标版本为 1.8 或更高。

核心功能

  • 01支持一级、二级菜单项、分隔线、徽章和可展开菜单项
  • 02提供带用户列表与切换功能的 AccountHeader
  • 03支持粘性页脚和页头
  • 04可通过 Android-Iconics 使用矢量图标或图标字体
  • 05颜色和样式可通过主题修改,并支持 MiniDrawer 与 RTL 布局

适用场景

  • 为 Android 应用添加带账户切换的侧边导航菜单
  • 实现类似 Gmail 的可收缩迷你抽屉
  • 通过 NavController 模块将导航抽屉与 Jetpack Navigation 结合

快速上手

  1. 1

    在 Gradle 文件中添加 materialdrawer 依赖

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

    在 XML 布局中将 MaterialDrawerSliderView 添加为 DrawerLayout 的子视图

  3. 3

    在应用主题中添加 materialDrawerStyle 和 materialDrawerHeaderStyle 属性

使用前须知

  • 这是一个仅适用于 Android 的库,需要 Kotlin 和 AndroidX 支持库。
  • 使用 9.x 版本配合 Material 3 主题时,需要将 Material3 主题作为 Activity 的基础主题。
  • 当前列出的最新版本是测试版(v10.0.0-b01),较旧的 Java 及 Kotlin 版本仅提供按原样使用的支持。
  • 要通过 URL 加载头像图片,需要自行添加并配置图片加载库。

收录于专题

标签

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

常见问题

MaterialDrawer 是什么?
一个 Kotlin/Android 库,为应用快速添加可定制的导航抽屉,支持账户头部、徽章和可展开菜单项。 MaterialDrawer 是一个 Android 库,用于构建从屏幕边缘滑出的导航抽屉。它基于 RecyclerView 和 AndroidX 支持库实现,只需在 DrawerLayout 中加入 MaterialDrawerSliderView,就能得到可直接使用的抽屉,并内置多种默认菜单项类型。
MaterialDrawer 可以免费使用吗?用的什么许可证?
MaterialDrawer 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
MaterialDrawer 还在维护吗?
活跃维护中。MaterialDrawer 最近一次提交是在 2026年11月2日。
MaterialDrawer 适合用来做什么?
为 Android 应用添加带账户切换的侧边导航菜单 实现类似 Gmail 的可收缩迷你抽屉 通过 NavController 模块将导航抽屉与 Jetpack Navigation 结合
MaterialDrawer 怎么安装和运行?
在 Gradle 文件中添加 materialdrawer 依赖: implementation("com.mikepenz:materialdrawer:${latestRelease}") 在 XML 布局中将 MaterialDrawerSliderView 添加为 DrawerLayout 的子视图 在应用主题中添加 materialDrawerStyle 和 materialDrawerHeaderStyle 属性
在哪里获取 MaterialDrawer?
源代码和安装说明在 GitHub 上:https://github.com/mikepenz/MaterialDrawer

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目