Pakete, Repositories und App-Kategorien suchen

Cover von draggable_scrollbar
Paketdetailsv0.1.0

draggable_scrollbar

Eine Scrollbar, die per Drag-and-Drop für eine schnelle Navigation durch eine vertikale Liste verwendet werden kann. Zusätzlich kann ein Label neben dem Scrollthumb mit Informationen zum aktuellen Element angezeigt werden.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
8120
Likes
404
Pub-Punkte
140

Paket installieren

flutter pub add draggable_scrollbar

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das draggable_scrollbar-Paket verbessert die Navigation in vertikalen Listen in Flutter durch Bereitstellung einer ziehbaren Scrollleiste mit einem optionalen Label, das Informationen über das aktuell sichtbare Element anzeigt. Benutzer können lange Listen schnell durch Ziehen des Scrollleisten-Griffes durchlaufen, was die Benutzerfreundlichkeit und Zugänglichkeit verbessert. Das Label aktualisiert sich dynamisch, um die aktuelle Position widerzuspiegeln und visuelles Feedback zu liefern. Speziell für eine reibungslose Integration mit ListView und anderen scrollbaren Widgets entwickelt, unterstützt es alle wichtigen Plattformen wie Android, iOS, Web, macOS, Windows und Linux.

Anwendungsfälle

  • Schnelle Navigation durch lange Listen
  • Verbesserung der Barrierefreiheit bei scrollbaren Inhalten
  • Verbesserung der Benutzererfahrung in datenintensiven Anwendungen
  • Visuelle Rückmeldung während des Scrollens bereitstellen
  • Anpassen des Scrollverhaltens in vertikalen Listen

Hauptmerkmale

  • Ziehbare Scrollbar-Griff
  • Dynamisches Label, das aktuelle Elementinformationen anzeigt
  • Plattformübergreifende Unterstützung
  • Einfache Integration mit ListView
  • Anpassbare Erscheinung
  • Glatte Scroll-Interaktion

Geeignet für

  • Apps mit langen vertikalen Listen
  • Zugänglichkeitsorientierte Anwendungen
  • datenintensive Dashboards
  • Benutzeroberflächen mit intuitivem Scrollen
  • Entwickler, die eine verbesserte Scroll-UX suchen

Hinweise

  • Kann zusätzliche Stilisierung erfordern, um ein optimales Erscheinungsbild zu erzielen
  • Die Positionierung der Beschriftung muss möglicherweise auf kleinen Bildschirmen angepasst werden
  • Leistungsbeeinträchtigung bei sehr großen Listen
  • Beschränkt auf vertikales Scrollen
  • Erforderlich: geeigneter Kontext für die Beschriftungstextdarstellung

Original-README

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

Flutter Community: draggable_scrollbar

Draggable Scrollbar

Pub

A scrollbar that can be dragged for quickly navigation through a vertical list. Additionaly it can show label next to scrollthumb with information about current item, for example date of picture created

Usage

You can use one of the three built-in scroll thumbs, or you can create a custom thumb for your own app!

You can play with all of these examples by running the app found in the example folder.

Example

Semicircle Thumb
DraggableScrollbar.semicircle(
  controller: myScrollController,
  child: GridView.builder(
    gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
      crossAxisCount: 5,
    ),
    controller: myScrollController,
    padding: EdgeInsets.zero,
    itemCount: 1000,
    itemBuilder: (context, index) {
      return Container(
        alignment: Alignment.center,
        margin: EdgeInsets.all(2.0),
        color: Colors.grey[300],
      );
    },
  ),
);
Arrows thumb + label
DraggableScrollbar.arrows(
  labelTextBuilder: (double offset) => Text("${offset ~/ 100}"),
  controller: myScrollController,
  child: ListView.builder(
    controller: myScrollController,
    itemCount: 1000,
    itemExtent: 100.0,
    itemBuilder: (context, index) {
      return Container(
        padding: EdgeInsets.all(8.0),
        child: Material(
          elevation: 4.0,
          borderRadius: BorderRadius.circular(4.0),
          color: Colors.purple[index % 9 * 100],
          child: Center(
            child: Text(index.toString()),
          ),
        ),
      );
    },
  ),
);
Rounded Rectangle Thumb
DraggableScrollbar.rrect(
  controller: myScrollController,
  child: ListView.builder(
    controller: myScrollController,
    itemCount: 1000,
    itemExtent: 100.0,
    itemBuilder: (context, index) {
      return Container(
        padding: EdgeInsets.all(8.0),
        child: Material(
          elevation: 4.0,
          borderRadius: BorderRadius.circular(4.0),
          color: Colors.green[index % 9 * 100],
          child: Center(
            child: Text(index.toString()),
          ),
        ),
      );
    },
  ),
);
Custom
DraggableScrollbar(
  controller: myScrollController,
  child: ListView.builder(
    controller: myScrollController,
    itemCount: 1000,
    itemExtent: 100.0,
    itemBuilder: (context, index) {
      return Container(
        padding: EdgeInsets.all(8.0),
        child: Material(
          elevation: 4.0,
          borderRadius: BorderRadius.circular(4.0),
          color: Colors.cyan[index % 9 * 100],
          child: Center(
            child: Text(index.toString()),
          ),
        ),
      );
    },
  ),
  heightScrollThumb: 48.0,
  backgroundColor: Colors.blue,
  scrollThumbBuilder: (
    Color backgroundColor,
    Animation<double> thumbAnimation,
    Animation<double> labelAnimation,
    double height, {
    Text labelText,
  }) {
    return FadeTransition(
      opacity: thumbAnimation,
      child: Container(
        height: height,
        width: 20.0,
        color: backgroundColor,
      ),
    );
  },
);

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden