Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.3.0

custom_navigator

Ein Flutter-Paket, das die Erstellung Ihres eigenen Navigators überall im Widgetbaum vereinfacht.

30-Tage-Downloads
107
Likes
51
Pub-Punkte
40

Paket installieren

flutter pub add custom_navigator

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein Flutter-Paket, das die Erstellung benutzerdefinierter Navigator in jedem Teil des Widgetbaums vereinfacht. Es ermöglicht Entwicklern, Navigationslogik unabhängig vom Hauptnavigator der App zu definieren und zu verwalten, wodurch modulare und wiederverwendbare Navigationskomponenten entstehen. Ideal für komplexe Benutzeroberflächen mit verschachtelten oder dynamischen Navigationsflüssen, fördert es eine klare Trennung der Verantwortlichkeiten und verbessert die Testbarkeit. Das Paket ist leichtgewichtig und flexibel gestaltet, ohne tiefgreifende Integration in die Kernstruktur der Anwendung erfordern zu müssen.

Anwendungsfälle

  • Modulare Navigation in großen Apps aufbauen
  • Verschachtelte Navigation innerhalb von Widgets erstellen
  • Dynamische Routenverwaltung implementieren
  • Wiederverwendbare Navigationskomponenten aktivieren
  • Testen der Navigationslogik isoliert

Hauptmerkmale

  • Einfache Integration überall im Widgetbaum
  • Unterstützt benutzerdefinierte Routendefinitionen
  • Fördert wiederverwendbare Navigationslogik
  • Minimales Boilerplate
  • Funktioniert unabhängig vom Hauptnavigator

Geeignet für

  • Entwickler, die komplexe Navigationsmuster erstellen
  • Teams, die modulare UI-Architektur benötigen
  • Apps mit dynamischer oder verschachtelter Navigation
  • Testgetriebene Entwicklungsworkflows
  • Benutzerdefinierte UI-Komponenten, die interne Navigation erfordern

Hinweise

  • Nicht als Ersatz für MaterialApp.router vorgesehen
  • Erfordert sorgfältige Zustandsverwaltung, wenn in mehreren Kontexten verwendet
  • Kann die Komplexität erhöhen, wenn in einfachen Apps übermäßig verwendet
  • Eingeschränkte plattformspezifische Funktionen im Vergleich zu integrierten Navigatoren

Original-README

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

Custom navigator

A flutter package that makes it easy to create your own navigator anywhere in the widget tree.

A common use for such widget is when you need to implement an "Always presenting bottom navigation bar"

Getting Started

First you need to add the package to your pubspec.yaml file.

Custom scaffold

CustomScaffold is a stateful widget that uses the CustomNavigator to to handle item transition of [BottomNavigationBar] with nested navigation while keeping the [BottomNavigationBar] visible!

Usage
// Here's the custom scaffold widget
// It takes a normal scaffold with mandatory bottom navigation bar
// and children who are your pages
CustomScaffold(
      scaffold: Scaffold(
        bottomNavigationBar: BottomNavigationBar(
          items: _items,
        ),
      ),

      // Children are the pages that will be shown by every click
      // They should placed in order such as
      // `page 0` will be presented when `item 0` in the [BottomNavigationBar] clicked.
      children: <Widget>[
        Page('0'),
        Page('1'),
        Page('2'),
      ],

      // Called when one of the [items] is tapped.
      onItemTap: (index) {},
    );

See the custom_scaffold_example for more details


Custom navigator

The CustomNavigator is fairly easy to use

Usage

CustomNavigator(
        home: YourChildWidget(),
        //Specify your page route [PageRoutes.materialPageRoute] or [PageRoutes.cupertinoPageRoute]
        pageRoute: PageRoutes.materialPageRoute,
      );

Then you can call it using the same old Navigator.of(context)

Options
  • you can specify Named routes exactly like in MaterialApp.

if you want to use the default [Navigator] you need to specify a [GlobalKey] to your [MaterialApp] and use it navigatorKey.currentState

See the example for more details.

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden