Flutter: menu swipe (revisité)
Ce post est une version revisité du précédent code suite à la suppression de redux du plugin menu_swipe_helpers.
Comment réaliser un menu swipe (burger) dans une application Flutter.
Installation du plugin : menu_swipe_helpers
- ajout de la dépendance dans le fichier pubspec.yaml du projet
menu_swipe_helpers:
git:
url: https://github.com/fidelisa/flutter_plugins.git
path: packages/menu_swipe_helpers
flutter packages get
- import du packet (ex: dans main.dart)
import 'package:menu_swipe_helpers/menu_swipe_helpers.dart';
Utilisation du plugin
Le déroulé présenté ici utilise tous les helpers du plugin mais vous pouvez à tout moment utiliser des classes de base (voir ThirdPage dans exemple).
Définir les menus
Créer un object de type DrawerDefinition
. A noter que le builder doit permettre de construire la page à afficher.
var _firstPage = new DrawerDefinition(
title: "First page",
iconData: Icons.home,
widgetBuilder: (BuildContext context) =>
new FirstPage(title: "First Page"));
Créer un menu
Créer un objet de type DrawerHelper
avec comme paramètre une liste de DrawerDefinition
.
var _drawerBuilder = new DrawerHelper(
drawerContents: [
_firstPage
]
);
Mettre en place le fournisseur de menu
Il suffit d’envelopper la première page de votre application par DrawerProvider
et de lui indiquer quel menu mettre en place.
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new DrawerProvider(
drawer: _drawerBuilder,
child: new FirstPage(
title: "First Page",
),
),
);
Et voilà …
Sources
Plugins et exemples : menu_swipe_helpers