Flutter plugin to implement a Boom Menu, with icons, title, subtitle, animated FAB Icons and hide on scrolling.

Overview

Flutter Boom Menu

Usage

The BoomMenu widget is built to be placed in the Scaffold.floatingActionButton argument, replacing the FloatingActionButton widget. It's not possible to set its position with the Scaffold.floatingActionButtonLocation argument, but it's possible to set right/bottom margin with the marginRight and marginBottom arguments (default to 16) to place the button anywhere in the screen. Using the Scaffold.bottomNavigationBar the floating button will be always placed above the bar, so the BottomAppBar.hasNotch should be always false.

Title

Every child button can have a Icon,Title, SubTitle which can be customized providing by yourself. If the Title parameter is not provided the title will be not rendered.

The package will handle the animation by itself.

alt text

Example Usage ( complete with all params ):

Widget build(BuildContext context) {
    return Scaffold(
        floatingActionButton: BoomMenu(
      animatedIcon: AnimatedIcons.menu_close,
      animatedIconTheme: IconThemeData(size: 22.0),
      //child: Icon(Icons.add),
      onOpen: () => print('OPENING DIAL'),
      onClose: () => print('DIAL CLOSED'),
      scrollVisible: scrollVisible,
      overlayColor: Colors.black,
      overlayOpacity: 0.7,
      children: [
        MenuItem(
          child: Icon(Icons.accessibility, color: Colors.black),
          title: "Profiles",
          titleColor: Colors.white,
          subtitle: "You Can View the Noel Profile",
          subTitleColor: Colors.white,
          backgroundColor: Colors.deepOrange,
          onTap: () => print('FIRST CHILD'),
        ),
        MenuItem(
          child: Icon(Icons.brush, color: Colors.black),
          title: "Profiles",
          titleColor: Colors.white,
          subtitle: "You Can View the Noel Profile",
          subTitleColor: Colors.white,
          backgroundColor: Colors.green,
          onTap: () => print('SECOND CHILD'),
        ),
        MenuItem(
          child: Icon(Icons.keyboard_voice, color: Colors.black),
          title: "Profile",
          titleColor: Colors.white,
          subtitle: "You Can View the Noel Profile",
          subTitleColor: Colors.white,
          backgroundColor: Colors.blue,
          onTap: () => print('THIRD CHILD'),
        ),
        MenuItem(
          child: Icon(Icons.ac_unit, color: Colors.black),
          title: "Profiles",
          titleColor: Colors.white,
          subtitle: "You Can View the Noel Profile",
          subTitleColor: Colors.white,
          backgroundColor: Colors.blue,
          onTap: () => print('FOURTH CHILD'),
        )
      ],
    ),
    );
}

Issues & Feedback

Please file an issue to send feedback or report a bug. Thank you!

Contributing

Every pull request is welcome.

Comments
  • Very good but with z-order problem

    Very good but with z-order problem

    Hi I try to use this lib but with a problem. When I try to place this widget into my app and the menu is closed the overlay stay always on top. If I use it with a listview when the menu is closed and I try to scroll the listview the gesture is detected by menu and not by listview, this makes it unusable :(

    opened by carmas123 4
  • BoomMenu requires AnimatedIcon, but there are only 14 (7x2) to chose from, Flutter not interested in adding more.

    BoomMenu requires AnimatedIcon, but there are only 14 (7x2) to chose from, Flutter not interested in adding more.

    Like the title says, the animated icon data class doesn't have enough icons for all cases. Flutter team isn't interested in adding more and creating new ones with their in-house tool is difficult. Is there another solution to being able to use static icons that transition or something?

    https://github.com/flutter/flutter/issues/42461

    opened by joeyda3rd 1
  • Dynamic fab fade

    Dynamic fab fade

    Is it possible to get the standard fade effect? In fact we are using page viewer and the fab is displayed dynamically. The fab is animated from the center to the bottom end right.

    Below standard fab vs boom fab:

    Standard fab fade effect: fab

    Current boom menu fade: boom

    opened by stact 1
  • Tap outside to close not working correctly

    Tap outside to close not working correctly

    Hey there, great package! Just a little bug though - if you tap above the menu options (while it is open), the menu does not get dismissed - unless you tap very far from the menu (near the top of the screen). It dismisses correctly if you tap near the bottom or sides of the menu.

    opened by guit4eva 1
  • doesn't work inside row and column

    doesn't work inside row and column

    gives 'A RenderFlex overflowed by Infinity pixels on the bottom.' error when used inside column widget and gives 'A RenderFlex overflowed by Infinity pixels on the right.' error when used inside row widget.

    opened by mrsuman3 1
  • Margin/alignment for fab

    Margin/alignment for fab

    Would be great if we could set margin/alignment for fab separately, not touching the menu items. I need my fab to be centered and leave menu items like before, but not possible as they are in the same column widget. Also overflow is possible because column height isn't managed by the widget tree.

    opened by maxgmer 0
  • Upgrade to Flutter 2 ?

    Upgrade to Flutter 2 ?

    Hello 👋

    First of all, thanks for sharing your project with the community !

    I am using your package in my project, and we recently upgraded to Flutter2. So I am facing warning with sound null safety with my BoomMenu.

    Do you plan to port your package to Flutter 2 ?

    opened by Mathieu-Lala 2
  • Add the ability to customise title and subtitle font

    Add the ability to customise title and subtitle font

    Is it possible to add the ability to customise the font ? Because title and subtitle are only accepting a String, it would be great to make them accept a Text.

    Thank you

    opened by malignois 0
  • Package, not plugin

    Package, not plugin

    It's a package, not a plugin (there are no platform native parts), Please, remove the unnecessary android and ios folders (apart from being unnecessary, they contain plugin example code completely irrelevant to this package). Besides, this setup makes Pub.dev erroneously report that only Android and iOS are supported while a package will run on every platform, eg. Web, too.

    Documentation.

    opened by deakjahn 1
Owner
Mohanraj
Mohanraj
Customizable Icons for Flutter :boom:

English | 简体中文 flutter_icons Customizable Icons for Flutter,Inspired by react-native-vector-icons Notice v1.0.0 has major Api changes, please be caref

flutter-studio 317 Dec 30, 2022
This is a repository for Flutter Focused Menu, an easy to implement package for adding Focused Long Press Menu to Flutter Applications

Focused Menu This is an easy to implement package for adding Focused Long Press Menu to Flutter Applications Current Features Add Focused Menu to Any

Paras Jain 160 Dec 26, 2022
Flutter Plugin used to query audios/songs infos [title, artist, album, etc..] from device storage.

on_audio_query on_audio_query is a Flutter Plugin used to query audios/songs ?? infos [title, artist, album, etc..] from device storage. Help: Any pro

Lucas Josino 31 Dec 10, 2022
A customizable carousel slider widget in Flutter which supports inifinte scrolling, auto scrolling, custom child widget, custom animations and built-in indicators.

flutter_carousel_widget A customizable carousel slider widget in Flutter. Features Infinite Scroll Custom Child Widget Auto Play Horizontal and Vertic

NIKHIL RAJPUT 7 Nov 26, 2022
A splash screen for flutter, hide when application loaded ,it works on iOS and Android.

flutter_splash_screen A splash screen API for flutter which can programatically hide and show the splash screen. Works on Android and iOS. Content Cha

Devio.org 92 Jan 9, 2023
Flutter package to hide out whole application or sections if you are not paid for the job done.

not_paid Worried about your payment? Using this package you can provide a non paid version of your app to the client that consistently starts fading o

hd-motion 11 Nov 30, 2021
Arissettingsmenuexm - Settings Menu with different choices by clicking on a Popup Menu Button in Flutter

Flutter Tutorial - Settings Menu & AppBar Dropdown Menu Show a Flutter Settings

Behruz Hurramov 1 Jan 9, 2022
Flutter-pop-up-menu - Pop up Menu - Mobile Devices Programming

Pop Up Menu App A flutter demo app with a pop up menu button Developer Alexander Sosa (https://www.linkedin.com/in/alexander-sosa-asillanes/) Technolo

Alexander Sosa 0 Jan 3, 2022
Fluent System Icons are a collection of familiar, friendly and modern icons from Microsoft.

Fluent UI System Icons Fluent UI System Icons are a collection of familiar, friendly and modern icons from Microsoft. Icon List View the full list of

Microsoft 4.3k Dec 29, 2022
The Material Design Icons Icon pack available as set of Flutter Icons.

material_design_icons_flutter The Material Design Icons Icon pack available as set of Flutter Icons. Based on Material Design Icons 6.5.95. See a web

ziofat 147 Oct 26, 2022
Flutter-Animated-Library-of-Books - Flutter App - Animated Book Library

bookshelf A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

Ulfhrafn 1 Dec 4, 2022
Animated dialog box - A pure dart package for showing animated alert box.

animated_dialog_box A pure dart package for showing animated alert box. Getting Started https://github.com/Shubham-Narkhede/animated_dialog_box/blob/m

Shubham-Narkhede 10 Jul 24, 2022
Animated shimmer - A simple & lightweight widget to display an animated shimmer effect

Animated Shimmer Supports Null Safety A simple & lightweight widget to display a

Shubham Soni 7 Apr 27, 2022
Flutter base code for app with slivers for affect on app bar and scrolling of cards.

scroll_with_flexi_title A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you

null 0 Dec 28, 2021
This is an applications for fetching pokemon data from API and showed in Listview with infinity scrolling

pokedex This is an applications for fetching pokemon data from API and showed in Listview with infinity scrolling #Author Created by Yusril Rapsanjani

Yusril Rapsanjani 9 Dec 13, 2019
A flutter widget that animates scrolling through a set of fixed size containers.

Spinner This flutter package implements a simple Spinner animation that cycles through any number of fixed size child widgets. Useful for selecting a

Mark Schmidt 6 Aug 3, 2021
An extension of the Flutter ListView widget for incrementally loading items upon scrolling

incrementally_loading_listview An extension of the Flutter ListView widget for incrementally loading items upon scrolling. This could be used to load

Michael Bui 174 Sep 27, 2022
Flutter package. A wrapper for scrollable widgets that enables smooth scrolling with a mouse on all platforms.

Dynamic Mouse Scroll A wrapper for scrollable widgets that enables smooth scrolling with a mouse on all platforms. First gif: Scrolling slowly. Second

null 3 Dec 15, 2022
OrderFoody - A template with command buttons in horizontal scrolling list

order_coffee In this project you create a template with command buttons in horiz

Le Gia Huy 3 Jun 22, 2022