anim_side_menu 0.0.2
anim_side_menu: ^0.0.2 copied to clipboard
Easily integrate smooth, anim side menus with full customization options.
Easily integrate smooth, anim side menus with full customization options.
Features #
There are 4 types of side menu
Getting started #
Step 1: Add shrink_sidemenu to pubspec.yaml dependencies: flutter: sdk: flutter anim_side_menu:
Step 2: Wrap Scaffold with SideMenu
final GlobalKey
SideMenu( key: _sideMenuKey, menu: buildMenu(), type: SideMenuType.shrinkNSlide, // check above images child: Scaffold( appBar: AppBar( leading: IconButton( icon: Icon(Icons.menu), onPressed: () { final _state = _sideMenuKey.currentState; if (_state.isOpened) _state.closeSideMenu(); // close side menu else _state.openSideMenu();// open side menu }, ), ... ), );
Usage #
example/lib/main.dart
import 'package:anim_side_menu/anim_side_menu.dart'; import 'package:flutter/material.dart';
void main() { runApp(const MyApp()); }
class MyApp extends StatelessWidget { const MyApp({super.key});
// This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Anim Side Menu', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), useMaterial3: true, ), home: const MyHomePage(title: 'Anim Side Menu'), ); } }
class MyHomePage extends StatefulWidget { const MyHomePage({super.key, required this.title}); final String title;
@override State
class _MyHomePageState extends State
final GlobalKey
toggleMenu(){ setState(() { if(_sideMenuKey.currentState!.isOpened){ _sideMenuKey.currentState!.closeSideMenu(); } else{ _sideMenuKey.currentState!.openSideMenu(); } }); } void _incrementCounter() { setState(() { _counter++; }); }
@override Widget build(BuildContext context) { return SideMenu( key: _sideMenuKey, type: SideMenuType.animNRotate, background: Colors.green, onClosedIcon: (){ toggleMenu(); }, menu:buildMenu(), child: Scaffold( appBar: AppBar( backgroundColor: Colors.blue, leading: GestureDetector( onTap:() =>toggleMenu(), child: const Icon(Icons.menu)), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children:
const like = 'sample';