Pakete, Repositories und App-Kategorien suchen

Cover von scroll_navigation
Paketdetailsv1.3.2

scroll_navigation

Es ist eine leistungsstarke Navigation per Gesten und Tipps. Sie können von links nach rechts scrollen oder auf die Navigations-Symbole tippen.

AndroidiOSmacOSWindowsLinux
30-Tage-Downloads
199
Likes
120
Pub-Punkte
140

Paket installieren

flutter pub add scroll_navigation

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

ScrollNavigation ist ein Flutter-Paket, das intuitive Navigation durch horizontales Scrollen und Berührungs-Gesten ermöglicht. Für tabbasierte Oberflächen entwickelt, ermöglicht es Benutzern, zwischen Tabs zu wechseln, indem sie nach links oder rechts wischen oder auf Navigations-Symbole tippen. Das Paket verbessert die Benutzererfahrung durch flüssige Übergänge und responsive Rückmeldungen über mehrere Plattformen hinweg. Ideal für Apps, die eine flüssige, gestenbasierte Navigation erfordern, unterstützt es Android, iOS, macOS, Windows und Linux. Durch sein leichtgewichtiges Design lässt es sich nahtlos in bestehende Flutter-Projekte integrieren.

Anwendungsfälle

  • Gestenbasierte Tab-Navigation
  • Horizontales Swipen in Dashboards
  • Mobile und Desktop-App-Navigation
  • Interaktive Benutzeroberflächen mit tabbigen Layouts
  • Ersetzen traditioneller unterer Navigationsleisten

Hauptmerkmale

  • Horizontales Scroll-Navigation
  • Zum Navigieren tippen-Symbole
  • Plattformübergreifende Unterstützung
  • Glatte Animationen
  • anpassbare Navigationsindikatoren
  • reaktive Gesten-Erkennung

Geeignet für

  • Entwickler, die gestenreiche Flutter-Apps erstellen
  • Designer, die moderne Navigationsmuster suchen
  • Apps mit mehreren Tab-Bereichen
  • Projekte, die sowohl mobile als auch Desktop-Ziele haben
  • Teams, die leichte Navigationslösungen benötigen

Hinweise

  • Kann maßgeschneiderte Stile für komplexe Designs erfordern
  • Beschränkt auf horizontale Navigation nur
  • Möglicher Leistungseinbruch bei vielen Tabs
  • Nicht ideal für vertikale Navigationsanforderungen
  • Erforderliche sorgfältige Behandlung von Touch-Ereignissen auf kleinen Bildschirmen

Original-README

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

scroll_navigation

My other APIs


Features

  • Fancy animations.
  • Customizable colors.
  • Works with the back button.
  • Scrolling pages by gestures.
  • Indicator that follows the scroll.
  • Easy and powerful implementation! :)
  • Page movement when tapping an icon.



Scroll Navigation Details

NavigationPosition.bottom NavigationPosition.top

Code
@override
Widget build(BuildContext context) {
  return ScrollNavigation(
    bodyStyle: NavigationBodyStyle(
      background: Colors.white,
      borderRadius: BorderRadius.vertical(bottom: Radius.circular(20)),
    ),
    barStyle: NavigationBarStyle(
      background: Colors.white,
      elevation: 0.0,
    ),
    pages: [
      Container(color: Colors.blue[100]),
      Container(color: Colors.green[100]),
      Container(color: Colors.purple[100]),
      Container(color: Colors.amber[100]),
      Container(color: Colors.deepOrange[100])
    ],
    items: const [
      ScrollNavigationItem(icon: Icon(Icons.camera)),
      ScrollNavigationItem(icon: Icon(Icons.chat)),
      ScrollNavigationItem(icon: Icon(Icons.favorite)),
      ScrollNavigationItem(icon: Icon(Icons.notifications)),
      ScrollNavigationItem(icon: Icon(Icons.home))
    ],
  );
}



NavigationPosition.left NavigationPosition.right

Code
@override
Widget build(BuildContext context) {
  return ScrollNavigation(
    bodyStyle: NavigationBodyStyle(
      background: Colors.white,
      borderRadius: BorderRadius.horizontal(left: Radius.circular(20)),
      scrollDirection: Axis.vertical,
    ),
    barStyle: NavigationBarStyle(
      position: NavigationPosition.left,
      elevation: 0.0,
      background: Colors.white,
    ),
    pages: [
      Container(color: Colors.blue[100]),
      Container(color: Colors.green[100]),
      Container(color: Colors.purple[100]),
      Container(color: Colors.amber[100]),
      Container(color: Colors.deepOrange[100])
    ],
    items: const [
      ScrollNavigationItem(icon: Icon(Icons.camera)),
      ScrollNavigationItem(icon: Icon(Icons.chat)),
      ScrollNavigationItem(icon: Icon(Icons.favorite)),
      ScrollNavigationItem(icon: Icon(Icons.notifications)),
      ScrollNavigationItem(icon: Icon(Icons.home))
    ],
  );
}


Go to a Page Code
final navigationKey = GlobalKey<ScrollNavigationState>();

@override
Widget build(BuildContext context) {
  return ScrollNavigation(
    key: navigationKey,
    pages: [...],
    items: [...],
    barStyle: NavigationBarStyle(position: NavigationPosition.top),
  );
}

void goToPage(int index) => navigationKey.currentState.goToPage(index);






Identifier Details

physics = true physics = False



position = IdentifierPosition.topAndRight showIdentifier = False

Code
return ScrollNavigation(
    pages: [...],
    items: [...],
    physics: true,
    showIdentifier: true,
    identiferStyle: NavigationIdentiferStyle(
      position: NavigationPosition.top,
    ),
);






Title Scroll Navigation Details


Code
return TitleScrollNavigation(
    barStyle: TitleNavigationBarStyle(
      style: TextStyle(fontWeight: FontWeight.bold),
      padding: EdgeInsets.symmetric(horizontal: 40.0),
      spaceBetween: 40,
    ),
    titles: [
      "Main Page",
      "Personal Information",
      "Personalization",
      "Security",
      "Payment Methods",
    ],
    pages: [
      Container(color: Colors.blue[50]),
      Container(color: Colors.red[50]),
      Container(color: Colors.green[50]),
      Container(color: Colors.purple[50]),
      Container(color: Colors.yellow[50]),
    ],
);






Screen Details (Hide AppBar on scroll)


Code
ScrollController controller = ScrollController();

return Screen(
    appBar: AppBarTitle(title: "Title Scroll", showBack: true), //WIDGET IN THE EXAMPLE
    controllerToHideAppBar: controller,
    body: ListView.builder(
      itemCount: 15,
      padding: EdgeInsets.zero,
      controller: controller,
      itemBuilder: (_, __) {
        return Padding(
          padding: EdgeInsets.symmetric(vertical: 5),
          child: Container(
            height: 50,
            color: Colors.blue[50],
          ),
        );
      },
    ),
  );

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.