搜尋套件、儲存庫與 APP 分類

flutter_speed_dial 封面
套件詳情v7.0.0

flutter_speed_dial

Flutter 插件,用於實現具有標籤、動畫圖示、多方向子項等的美觀且動態的 Material Design 速撥鈕。

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
11.5萬
喜歡數
1340
Pub 分數
140

安裝套件

flutter pub add flutter_speed_dial

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

一個 Flutter 插件,實現了動態且視覺上吸引人的 Material Design 速度撥號。它支援動畫圖示、標籤、多方向子項定位以及順暢的過渡效果。非常適合在空間有限的應用中增強導航,提供從單一浮動按鈕存取多個操作的直覺方式。該插件相容於所有主要平台,包括 Android、iOS、Web、macOS、Windows 和 Linux。

適用情境

  • 增強移動應用導航
  • 快速存取多個動作
  • 在緊湊佈局中提升使用者介面效率
  • 在儀表板中添加互動元素
  • 建立現代、手勢友善的介面

主要特色

  • 動畫圖示轉換
  • 子操作的標籤支援
  • 多方向子項放置
  • 可自訂的速度撥號行為
  • 跨平台相容性
  • 流暢的開/關動畫

適合對象

  • 行動應用程式開發者
  • 尋求 Material Design 元件的 UI/UX 設計師
  • 需要緊湊操作選單的應用程式
  • 針對多個平台的開發者
  • 使用 Material Design 指南的專案

使用建議

  • 可能影響許多子項的效能
  • 需要仔細的佈局規劃
  • 超出內建選項的自訂功能有限
  • 不適合複雜的嵌套互動
  • 最適合簡單、專注的動作集合

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

Flutter Speed Dial

Flutter package to render a Material Design Speed Dial.

Support the development

To sustain the development of this library we need someone who can help this library either through code or by donating it. Donation will help us to live up in the world of unmaintained open source packages and to dedicate more time in improving this to live up to the mark. We will also add the name of the contributors or the donaters in the README section.

To donate directly you can use below link, don't forget to leave a message there:

Buy Me A Coffee

Or become a Github sponser by clicking on the Sponser button in this repository.

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.

所屬分類

原始碼儲存庫

使用此套件的專案