navigation_drawer_menu
Flutter Material Design 导航抽屉菜单
导航抽屉 是一种常见的自适应菜单UI模式。 Material Design 文档对菜单的行为进行了规范,但这种模式并非Material Design特有。该模式包含一个基本的汉堡包菜单,但不限于小屏幕。此菜单模式适用于所有屏幕尺寸。在较宽的屏幕上,您会看到图标和文本;较小的屏幕将仅显示图标;在手机上,菜单在正常使用期间会消失,并在汉堡包图标处滑入。
Beta
此小部件处于Beta阶段,公共接口可能会发生变化
示例
该示例旨在实现上面文档介绍的导航抽屉模式。这是一个正在进行中的项目,长期目标是符合Material Design文档中的行为。欢迎提交修复行为的Pull Request。该示例适用于所有设备类型:桌面和平板电脑(横屏、竖屏)、手机和Web。尝试调整窗口宽度以查看行为如何变化。大部分行为已在示例中实现。目标是创建一个新的小部件,用于替换 Scaffold,并让您能够非常快速地启动具有此功能的新应用。
注意:如果您只是想要一个简单的抽屉菜单,而不希望它自适应屏幕,请查看此处。
运行示例
- 在Visual Studio Code中打开根文件夹
- 打开终端窗口
- 通过在根文件夹(非示例文件夹)中运行以下命令来添加平台
- 点击运行 -> 开始调试
flutter create example --platforms=windows,macos,linux
flutter create --platforms=web
flutter create --platforms=android
NavigationDrawerMenu
这是一个基本功能类似于 ListView 的小部件。它用于消除构建菜单所需的一些样板代码,并允许您在菜单中放置任意大小的间隔符和标题。示例使用了这组定义。如果您不想使用此小部件,也可以改用 ListView。
final menuItems = [
MenuItemContent(
MenuItemDefinition("Alarm", alarmValueKey, iconData: Icons.access_alarm)),
MenuItemContent(MenuItemDefinition("Todo", todoValueKey,
iconData: Icons.ad_units_rounded)),
MenuItemContent.widget(const SizedBox(
height: 30,
)),
MenuItemContent(MenuItemDefinition("Photo", photoValueKey,
iconData: Icons.add_a_photo_outlined))
];



