Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.0.0

flutter_speed_dial_material_design

Flutter-Plugin zur Implementierung eines Material Design-Speed-Dials (https://material.io/components/buttons-floating-action-button/#types-of-transitions)

30-Tage-Downloads
46
Likes
62
Pub-Punkte
40

Paket installieren

flutter pub add flutter_speed_dial_material_design

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein Flutter-Plugin, das den Material Design-Speed-Dial implementiert – einen schwebenden Aktionsschaltflächen mit erweiterbaren Menüoptionen. Es folgt den Material Design-Richtlinien für Übergänge und Interaktionen und ermöglicht es Benutzern, über eine einzige FAB auf mehrere Aktionen zuzugreifen. Das Paket unterstützt anpassbare Symbole, Beschriftungen und Animationsstile und ist ideal zur Verbesserung der Benutzeroberflächen-Effizienz in mobilen Apps. Es lässt sich nahtlos in bestehende Flutter-Projekte mit minimalem Aufwand integrieren.

Anwendungsfälle

  • Schnellzugriffs-Aktionsmenüs in mobilen Apps hinzufügen
  • Verbesserung der Navigation in aufgabenorientierten Schnittstellen
  • Verbesserung der Benutzeroberflächenkonsistenz mit Material Design-Standards
  • Kompakte, aber funktionsreiche schwebende Schaltflächen erstellen
  • Einfache Zugänglichkeit zu sekundären Aktionen in einer sauberen Anordnung

Hauptmerkmale

  • Material-Design-konforme Animationen
  • Anpassbare Menüelemente und Symbole
  • Unterstützung für Beschriftungen und Tooltips
  • Einfache Integration mit bestehenden Flutter-Widgets
  • Konfigurierbare Erweiterungsrichtung und Geschwindigkeit

Geeignet für

  • Entwickler, die Material Design-Apps erstellen
  • benutzeroberflächenorientierte Anwendungen, die schnellen Zugriff auf Aktionen erfordern
  • Projekte, die auf glänzende, moderne Schnittstellen abzielen
  • Mobile App-Entwickler, die wiederverwendbare FAB-Komponenten suchen
  • Teams, die die Designrichtlinien von Google befolgen

Hinweise

  • Eingeschränkte plattformspezifische Anpassung
  • Kann zusätzliche Stilisierung für nicht-Material-Themen erfordern
  • Nicht für sehr große Menügruppen optimiert
  • Die Animationsleistung kann sich auf älteren Geräten unterscheiden
  • Keine integrierte Unterstützung für die Tastaturnavigation

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Flutter Speed dial of Material Design style

Flutter package which applies Material design Speed dial

Preview

There are several packages that provide fancy speed dial. However, as most of those do not work properly on docked FAB using notch, I referenced Andrea Bizzoto and Matt Carroll's idea/code specified here to make it work fine with notch as well. Truly appreciate to Andrea and Matt for sharing such an awesome idea and codes.

Usage

Basic usage
Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(child: _buildBody()),
      floatingActionButton: _buildFloatingActionButton(),
      floatingActionButtonLocation: FloatingActionButtonLocation.endDocked,
      bottomNavigationBar: _buildBottomBar(),
    );
  }

Widget _buildFloatingActionButton() {
    final icons = [
      SpeedDialAction(child: Icon(Icons.mode_edit)),
      SpeedDialAction(child: Icon(Icons.date_range)),
      SpeedDialAction(child: Icon(Icons.list)),
    ];

    return SpeedDialFloatingActionButton(
      actions: icons,
      // Make sure one of child widget has Key value to have fade transition if widgets are same type.
      childOnFold: Icon(Icons.event_note, Key: UniqueKey()),
      childOnUnfold: Icon(Icons.add),
      useRotateAnimation: true,
      onAction: _onSpeedDialAction,
    );
  }
  
_onSpeedDialAction(int selectedActionIndex) {
  print('$selectedActionIndex Selected');
}
Using controller
SpeedDialController _controller = SpeedDialController();

SpeedDialFloatingActionButton(
      controller: _controller,
      ...
    );
    
// Use anywhere to mannually unfold
_controller.unfold();
Fade Transition animation between child widgets

In order to apply fade transition between [childOnFold] and [childOnUnfold], make sure one of those has Key field. (eg. ValueKey(value) or UniqueKey()). As we using AnimatedSwitcher for transition animation, no key with same type of child will perform no animation. It is AnimatedSwitcher's behaviour.

TO-DOs

  • [ ] Ability to display/hide speed dial when it is needed. (ex. hiding on scroll)
  • [X] Unfold function to force close the dial
  • [ ] Providing option for modal background with color parameter
  • [X] Text labels on each action widgets (Thanks to @CarlosHJuniior)

Contributing

Any pull requests for implementing To-Do functions are always welcome!

Other useful packages you might be instrested

Firebase Auth Simplify Google Maps Place Picker

Support

If the package was useful or saved your time, please do not hesitate to buy me a cup of coffee! ;)
The more caffeine I get, the more useful projects I can make in the future.

Buy Me A Coffee

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.