Flutter package to render a Material Design Speed Dial.

Overview

Flutter Speed Dial

Flutter package to render a Material Design Speed Dial.

GitHub release License Classic API Docs Usage

Usage

The SpeedDial widget is built to be placed in the Scaffold.floatingActionButton argument, replacing the FloatingActionButton widget. You can set its position using Scaffold.floatingActionButtonLocation argument. It can also be used with Scaffold.bottomNavigationBar and Snackbar.

Null safety is available from version 3.0.5 ( It is also backward compatible, meaning you can use it with non null safe code too )

Labels

SpeedDial can take any Widget as label SpeedDial will use Extended FloatingActionButton property if label is specified. It also have activeLabel property by which you can specify the label which is shown when SpeedDial is open. It also comes with its labelTransitionBuilder which defaults to fade transition.

Also Every child's button have label property which accepts String which can be styled by using labelStyle. If you want to specify a widget then you can use labelWidget.
If the label parameter is not provided, then the label will be not rendered.

Types of child for SpeedDial (Ordered by their priority)

Animated Icon using animatedIcon property SpeedDial's AnimatedIcon has two specific parameters:
  • animatedIcon takes an AnimatedIconData widget
  • animatedIconTheme takes IconThemeData
Widget using child & activeChild property SpeedDial's Widget has two specific parameters:
  • child takes a widget and is the default placeholder if dial is not open.
  • activeChild takes a widget and is the child's Widget which is used when dial is open, not required.
IconData using icon & activeIcon property SpeedDial's IconData has three specific parameters:
  • icon takes a IconData and is the default placeholder if dial is not open.
  • activeIcon takes a IconData and is the child's IconData which is used when dial is open, not required.
  • iconTheme takes its IconThemeData which includes color and size.

The package will handle the animation by itself.

Handle spacing

There are various properties for SpeedDial by which you can adjust the spacing:

  1. spacing - This parameter handles the space b/w speed dial and its children.

  2. spaceBetweenChildren - As the name suggests, this is used to adjust the space b/w every child element

  3. childPadding - This will adjust the padding of children speed dial button, this will help you to control the size of the children button more effectively.

  4. childMargin - This will help you to adjust the margin b/w children speed dial button and its label.

Close on WillPop

Closes automatically on back button press, if dial is open. If you don't want this behaviour then simply change the value of closeDialOnPop to false.

How to use openCloseDial property:

  1. Create a value notifier named isDialOpen:
ValueNotifier<bool> isDialOpen = ValueNotifier(false);
  1. Then set openCloseDial to isDialOpen in your SpeedDial:
SpeedDial(
  ...
  openCloseDial: isDialOpen,
  ...
)
  1. Now you can change the state of dial open:
isDialOpen.value = false;

Example Usage

See Example Code for more info.

Issues & Feedback

Please file an issue to send feedback or report a bug,
If you want to ask a question or suggest an idea then you can open an discussion.
Thank you!

Contributing

Every pull request is welcome.

You might also like...

Dart JS interop for Mermaid - The Javascript tool that makes use of a markdown based syntax to render customizable diagrams, charts and visualizations.

Mermaid (Dart) Dart JS interop for Mermaid - Javascript library that makes use of a markdown based syntax to render customizable diagrams, charts and

Dec 12, 2022

Flutter Events App Ui Challenge Speed Code

Flutter Events App Ui Challenge Speed Code

Flutter Events app made with Flutter, Hosted on Codemagic. Don't forget to star ⭐ the repo it motivates me to share more open source Design Credits Uv

Dec 29, 2022

Flutter Ui Challenge Speed Code

Flutter Ui Challenge Speed Code

Live Demo : http://bit.ly/flutterecomapp Design Credits : https://gumroad.com/l/kamartaj Youtube Video : https://youtu.be/OQ-6Zo0vbAk Created & Mainta

Aug 15, 2022

Speed Share is a highly available file sharing terminal on LAN(local area network) developed by flutter framework.

Speed Share is a highly available file sharing terminal on LAN(local area network) developed by flutter framework.

速享 Language: 中文简体 | English 这是一款完全基于局域网的文件互传终端,速享不使用任何服务器,不使用您的移动流量,不收集任何用户数据,完全的点对点传输。 可以快速共享文本消息,图片或其他文件,文件夹。 适用于局域网中的文件互传,解决 QQ,微信等上传文件会经过服务器的问题,或者

Dec 31, 2022

Doctor booking app - Flutter Ui Challenge Speed Code

Doctor booking app - Flutter Ui Challenge Speed Code

Installation flutter pub get Usage flutter run Live Demo : Flutter Doctor Booking App Web Demo Try Android APK : Download From Google Drive Dotor Bo

Jan 3, 2023

A mobile game using Flutter to test your reaction speed in various ways

A mobile game using Flutter to test your reaction speed in various ways

FLX Test your Reflexes! A simple mobile game built with Flutter, Provider and BLoC pattern Key Features Three different play modes! Visual mode: tap w

May 11, 2021

A super effective dart library delivering performance & ensuring greater build speed.

A super effective dart library delivering performance & ensuring greater build speed.

A super effective Dart and Flutter library for delivering performante app 🌝 & ensuring greater build speed 🚀 . The package has some cook utilizes wh

Nov 22, 2021

Speed Coded on Youtube

Speed Coded on Youtube

Installation flutter pub get Usage flutter run Live Demo : Flutter Book App Web Demo Try Android APK : Download From Google Drive Book App UI made w

Dec 2, 2022

Gif image widget help to controll gif progress,speed,repeat frames

Gif image widget help to controll gif progress,speed,repeat frames

We should know that in order to achieve Gif in flutter, we can use Image, but we have no way to manipulate Gif, for example: change its speed, control it has been playing in a frame, in which frame range loop. These problems can be solved by this widget,it also help you contain gif cache,avoid load frame every time.

Dec 9, 2022
Owner
null
Rotate Dial Lock

Rotary dial Locker Dependencies : How it works Most magic handle by GuesterDetector. onPanEnd onPanDown onPanUpdate SpringHouse, 1st we locate where u

Md. Yeasin Sheikh 10 Dec 21, 2022
An android app that can automatically dial a phone number.

AutoCallScheduler An android app that can automatically dial a phone number within a given scheduled of time. Basically it's a test base app of google

Rezwan 24 Dec 4, 2022
A Flutter Package to render Mathematics, Physics and Chemistry Equations based on LaTeX

flutter_tex Contents About Demo Video Screenshots How to use? Android iOS Web Examples Quick Example TeXView Document TeXView Markdown TeXView Quiz Te

Shahzad Akram 220 Dec 21, 2022
Flutter package to render html as widgets that supports hyperlink, image, audio, video, iframe and many other tags.

HtmlWidget monorepo This repo contains the source code for everything HtmlWidget-related. Name Link flutter_widget_from_html_core flutter_widget_from_

Đào Hoàng Sơn 445 Jan 6, 2023
A Very Flexible Widget that can Implement Material Sheets on all Directions, both modal and persistent, and consequently a Material Navigation Drawer

Flutter_MaterialSheetAndNavigationDrawer If this project helped you reduce developement time or you just want to help me continue making useful tools

Bryan Cancel 30 Dec 4, 2021
Material io ext - A collection of extensions for creating widgets following material.io guidelines

material_io_ext It is a collection of extensions for creating widgets following

BetterX.io 3 Jan 28, 2022
Emanuel Braz 27 Dec 22, 2022
A Flutter widget for rendering static html as Flutter widgets (Will render over 80 different html tags!)

flutter_html A Flutter widget for rendering HTML and CSS as Flutter widgets. Screenshot 1 Screenshot 2 Screenshot 3 Table of Contents: Installing Curr

Matthew Whitaker 1.5k Jan 5, 2023
Flutter plugin to render stacked page view

Stacked Page View! pub.dev/stacked_page_view Hi! This package will create stacked page view in your flutter app. it's as lightweight as it can get ⚡ ⚡

Navin Kodag 12 Nov 25, 2022
A highly customizable Flutter widget to render and interact with JSON objects.

The spreadsheet with superpowers ✨ ! JSON Data Explorer A highly customizable widget to render and interact with JSON objects. Features Expand and col

rows 15 Dec 21, 2022