All Projects → UttamPanchasara → FlutterExpandableMenu

UttamPanchasara / FlutterExpandableMenu

Licence: other
A new Flutter package which helps developers in creating Expandable Menu.

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to FlutterExpandableMenu

rainbow container
🌈 A magical container which changes colors whenever its build method is called.
Stars: ✭ 21 (+16.67%)
Mutual labels:  flutter-package
Flogs
An Advanced Logging Framework develop in flutter that provides quick & simple logging solution.
Stars: ✭ 158 (+777.78%)
Mutual labels:  flutter-package
juxtapose
A flutter widget for comparing two stacked widgets by dragging a slider thumb to reveal either sides of the slider horizontally or vertically.
Stars: ✭ 75 (+316.67%)
Mutual labels:  flutter-package
snapping sheet
A package that provides a highly customizable sheet widget that snaps to different vertical & horizontal positions!
Stars: ✭ 362 (+1911.11%)
Mutual labels:  flutter-package
flutter link previewer
URL preview extracted from the provided text with basic customization and ability to render from cached data.
Stars: ✭ 35 (+94.44%)
Mutual labels:  flutter-package
flex color scheme
A Flutter package to make and use beautiful color scheme based themes.
Stars: ✭ 370 (+1955.56%)
Mutual labels:  flutter-package
flutter cache store
More configurable cache manager for Flutter
Stars: ✭ 20 (+11.11%)
Mutual labels:  flutter-package
change app package name
Change App Package Name with single command. It makes the process very easy and fast.
Stars: ✭ 72 (+300%)
Mutual labels:  flutter-package
gen lang
gen_lang is a dart library for internationalization. Extracts messages to generate dart files required by Intl, inspired by Intl_translation and Flutter i18n
Stars: ✭ 94 (+422.22%)
Mutual labels:  flutter-package
survey kit
Flutter library to create beautiful surveys (aligned with ResearchKit on iOS)
Stars: ✭ 68 (+277.78%)
Mutual labels:  flutter-package
achievement view flutter
No description or website provided.
Stars: ✭ 75 (+316.67%)
Mutual labels:  flutter-package
Flarts
Flutter Charts
Stars: ✭ 61 (+238.89%)
Mutual labels:  flutter-package
Flutter-Floating-Menu
A new Flutter package which helps developers in creating Floating Menu.
Stars: ✭ 37 (+105.56%)
Mutual labels:  flutter-package
Flutter-Chat-Bar
Link to the package -. https://pub.dartlang.org/packages/flutter_chat_bar
Stars: ✭ 39 (+116.67%)
Mutual labels:  flutter-package
Interactive-Add-Button-Layout
Custom Layout with interactive add button to impove your UI and UX .
Stars: ✭ 20 (+11.11%)
Mutual labels:  flutter-package
davinci
A flutter package to convert any widget to an Image.
Stars: ✭ 33 (+83.33%)
Mutual labels:  flutter-package
buttons tabbar
A Flutter package that implements a TabBar where each label is a toggle button.
Stars: ✭ 49 (+172.22%)
Mutual labels:  flutter-package
getx snippets extension
An extension to accelerate the process of developing applications with flutter, aimed at everyone using the GetX package.
Stars: ✭ 142 (+688.89%)
Mutual labels:  flutter-package
shimmer animation
This shimmer animation widget can help you bring simple yet beautiful skeleton loaders to your flutter app with ease.
Stars: ✭ 29 (+61.11%)
Mutual labels:  flutter-package
swipedetector
A Flutter package to detect up, down, left, right swipes.
Stars: ✭ 34 (+88.89%)
Mutual labels:  flutter-package

flutter_expandable_menu

Download

A new Flutter package which helps developers in creating Expandable Menu.

Getting Started

With Dark Background Transparent Background
Screenshot Screenshot

Usage

Example

To use this package :

  dependencies:
    flutter:
      sdk: flutter
    flutter_expandable_menu: ^0.0.1

Quick Start:

In order to use Expandable Menu Widget in your Application you will have to Put this widget inside the Stack Widget as below.

    Stack(
            children: <Widget>[
              Center(
                child: Text(
                  centerText,
                  style: TextStyle(color: Colors.black),
                ),
              ),
              FlutterExpandableMenu(
                menuList: floatMenuList,
                callback: this,
                backgroundColor: Colors.transparent,
                menuBackgroundColor: Colors.black,
                menuIcon: AnimatedIcons.menu_close,
                menuAlignment: Alignment.center,
                outerTransitionDuration: Duration(milliseconds: 300),
                menusTransitionDuration: Duration(milliseconds: 500),
                menusTransitionDelay: Duration(milliseconds: 200),
              ),
            ],
          )

Example - How to use:

class _RoundMenuState extends State<RoundMenu>
    with TickerProviderStateMixin
    implements FloatingMenuCallback {
  String centerText = "Home";

  final List<FloatingMenuItem> floatMenuList = [
    FloatingMenuItem(
        id: 1, icon: Icons.favorite, backgroundColor: Colors.deepOrangeAccent),
    FloatingMenuItem(id: 2, icon: Icons.map, backgroundColor: Colors.brown),
    FloatingMenuItem(id: 3, icon: Icons.email, backgroundColor: Colors.indigo),
    FloatingMenuItem(id: 4, icon: Icons.event, backgroundColor: Colors.pink),
    FloatingMenuItem(id: 5, icon: Icons.print, backgroundColor: Colors.green),
    FloatingMenuItem(
        id: 6, icon: Icons.home, backgroundColor: Colors.deepPurple),
    FloatingMenuItem(
        id: 7, icon: Icons.location_on, backgroundColor: Colors.blueAccent),
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Round Menu'),
        leading: new IconButton(
          icon: new Icon(Icons.arrow_back, color: Colors.black),
          onPressed: () => Navigator.of(context).pop(),
        ),
      ),
      body: Stack(
        children: <Widget>[
          Center(
            child: Text(
              centerText,
              style: TextStyle(color: Colors.black),
            ),
          ),
          FlutterExpandableMenu(
            menuList: floatMenuList,
            callback: this,
            backgroundColor: Colors.transparent,
            menuBackgroundColor: Colors.black,
            menuIcon: AnimatedIcons.menu_close,
            menuAlignment: Alignment.center,
            outerTransitionDuration: Duration(milliseconds: 300),
            menusTransitionDuration: Duration(milliseconds: 500),
            menusTransitionDelay: Duration(milliseconds: 200),
          ),
        ],
      ),
    );
  }

  @override
  void onMenuClick(FloatingMenuItem floatingMenuItem) {
    if (floatingMenuItem != null) {
      print("onMenuClicked : " + floatingMenuItem.id.toString());
      switch (floatingMenuItem.id) {
        case 1:
          {
            centerText = "Favorite";
          }
          break;
        case 2:
          {
            centerText = "Map";
          }
          break;
        case 3:
          {
            centerText = "Email";
          }
          break;
        case 4:
          {
            centerText = "Event";
          }
          break;
        case 5:
          {
            centerText = "Print";
          }
          break;
        case 6:
          {
            centerText = "Home";
          }
          break;
        case 7:
          {
            centerText = "Location";
          }
          break;
      }

      setState(() {});
    }
  }
}

Questions?

Ping-Me on : Twitter Facebook

profile for Uttam Panchasara at Stack Overflow, Q&A for professional and enthusiast programmers

Donate

If you found this package helpful or you learned something from the source code and want to thank me, consider buying me a cup of

  • Google Pay (panchasarauttam@okaxis)

License

   Copyright 2019 Uttam Panchasara

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].