flutter_side_menu 0.5.41

SDKflutter
Platformandroidioswindowslinuxmacosweb

Flutter's full customizable side menu has been used as a directory for Related Pages, Navigation Items, Filter side and more

Flutter Side Menu

logo
GitHub Pub Version GitHub repo size

Flutter's full customizable side menu has been used as a directory for Related Pages, Navigation Items, Filter side and more.

Flutter Side Menu Screenshots

Navigation Side Filter Side

Usage

Add dependency

Please check the latest version before installation. If there is any problem with the new version, please use the previous version

dependencies:
  flutter:
    sdk: flutter
  # add flutter_side_menu
  flutter_side_menu: ^{latest version}

Add the following imports to your Dart code

import 'package:flutter_side_menu/flutter_side_menu.dart';

Property

PropertyTypeDefault ValueDescription
builderSideMenuBuildernullReturn 'SideMenuData' that includes headers, footers, items, or custom child
controllerSideMenuControllernullThe 'controller' that can be used to open, close, or toggle side menu.
modeSideMenuModeSideMenuMode.autoThe 'SideMenuMode' which is auto, open or compact and can determine the menu state
prioritySideMenuPrioritySideMenuPriority.modeThe 'SideMenuPriority' which is mode or sizer. in sizer mode the side menu width not change if user set custom size with 'Resizer'
positionSideMenuPositionSideMenuPosition.leftThe 'SideMenuPosition' which is left or right.
minWidthdouble50.0The 'minWidth' value is used to determine the side menu width in the smallest case.
maxWidthdouble250.0The 'maxWidth' value is used to determine the side menu width in the largest case.
hasResizerbooltrueThe 'hasResizer' enable 'Resizer' widget for side menu. With 'Resizer' the side menu width can be customized by the user.
resizerDataResizerDataResizerData()The 'ResizerData' that can set custom style for a 'Resizer'.
hasResizerTogglebooltrueThe 'hasResizerToggle' enable 'ResizerToggle' widget for side menu. With 'ResizerToggle' button you can toggle the width of the side menu between 'minWidth' or 'maxWidth'.
resizerToggleDataResizerToggleDataResizerToggleData()The 'resizerToggleData' that can set custom style for a 'ResizerToggle'.
backgroundColorColorColor(0xffffffff)The 'backgroundColor' it's used to determine the side menu background color

Example

import 'package:flutter/material.dart';
import 'package:flutter_side_menu/flutter_side_menu.dart';

void main() => runApp(
      MaterialApp(
        home: Material(
          child: Scaffold(
            body: Row(
              children: [
                SideMenu(
                  builder: (data) => SideMenuData(
                    header: const Text('Header'),
                    items: [
                      SideMenuItemDataTile(
                        isSelected: true,
                        onTap: () {},
                        title: 'Item 1',
                        icon: const Icon(Icons.home),
                      ),
                    ],
                    footer: const Text('Footer'),
                  ),
                ),
                Expanded(
                  child: Container(
                    color: Colors.white,
                    child: const Center(
                      child: Text(
                        'body',
                      ),
                    ),
                  ),
                ),
                SideMenu(
                  position: SideMenuPosition.right,
                  builder: (data) => const SideMenuData(
                    customChild: Text('Custom view'),
                  ),
                ),
              ],
            ),
          ),
        ),
      ),
    );