Pakete, Repositories und App-Kategorien suchen

Cover von drag_and_drop_lists
Paketdetailsv0.4.2

drag_and_drop_lists

Ein Flutter-Paket, das die Drag-and-Drop-Umordnung von zweistufigen Listen ermöglicht.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
20.600
Likes
457
Pub-Punkte
150

Paket installieren

flutter pub add drag_and_drop_lists

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein Flutter-Paket, das das Verschieben und Umordnen innerhalb von zweistufig verschachtelten Listen ermöglicht. Es unterstützt intuitive Benutzerinteraktionen zum Umsortieren von Elementen über mehrere Ebenen hinweg und ist daher ideal zur Organisation hierarchischer Daten. Das Paket ist mit allen wichtigen Plattformen kompatibel, darunter Android, iOS, Web, macOS, Windows und Linux. Entwickelt für Einfachheit und Leistung, integriert es sich nahtlos in bestehende Flutter-Anwendungen, ohne komplexe Einrichtung zu erfordern. Entwickler können interaktive Listenstrukturen mit minimalem Code umsetzen. Der Quellcode ist öffentlich auf GitHub verfügbar, um Transparenz und Mitwirkung zu gewährleisten.

Anwendungsfälle

  • Verschachtelte Aufgabenlisten neu anordnen
  • Benutzerdefinierbare Dashboards erstellen
  • Erstellen von sortierbaren Kategorie-Unterkategorie-Strukturen
  • Interaktive To-Do-Anwendungen gestalten
  • Implementierung der Drag-and-Drop-Datei- oder Elementorganisation

Hauptmerkmale

  • Zweistufige Listenunterstützung
  • Drag-and-Drop über Ebenen hinweg
  • plattformunabhängige Implementierung
  • Minimaler Boilerplate erforderlich
  • Eingebaute Animationsbehandlung
  • Öffentliches GitHub-Repository

Geeignet für

  • Entwickler, die hierarchische Benutzeroberflächen erstellen
  • Apps, die eine dynamische Umstellung der Liste erfordern
  • Projekte mit verschachtelten Datenstrukturen
  • UI-intensive Produktivitätstools
  • Teams, die Open-Source-Lösungen mit Wartbarkeit bevorzugen

Hinweise

  • Beschränkt auf zwei Ebenen der Verschachtelung
  • Kann individuelle Gestaltung für komplexe Layouts erfordern
  • Die Leistung kann bei sehr großen Listen abnehmen
  • Nicht für Berührungsgesten jenseits des grundlegenden Ziehens optimiert
  • Keine eingebaute Validierung für Abstellziele

Original-README

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

drag_and_drop_lists

Two-level drag and drop reorderable lists.

"Buy Me A Coffee"

Features

  • Reorder elements between multiple lists
  • Reorder lists
  • Drag and drop new elements from outside of the lists
  • Vertical or horizontal layout
  • Use with drag handles, long presses, or short presses
  • Expandable lists
  • Can be used in slivers
  • Prevent individual lists/elements from being able to be dragged
  • Easy to extend with custom layouts

Basic list Drag and drop expansion tiles Drag and drop using drag handles Drag and drop new lists and new items Drag and drop horizontal lists Drag and drop list tiles Drag and drop lists using slivers

Usage

To use this plugin, add drag_and_drop_lists as a dependency in your pubspec.yaml file. For example:

dependencies:
  drag_and_drop_lists: ^0.4.0

Now in your Dart code, you can use: import 'package:drag_and_drop_lists/drag_and_drop_lists.dart';

To add the lists, add a DragAndDropLists widget. Set its children to a list of DragAndDropList. Likewise, set the children of DragAndDropList to a list of DragAndDropItem. For example:

  // Outer list
  List<DragAndDropList> _contents;

  @override
  void initState() {
    super.initState();

    // Generate a list
    _contents = List.generate(10, (index) {
      return DragAndDropList(
        header: Text('Header $index'),
        children: <DragAndDropItem>[
          DragAndDropItem(
            child: Text('$index.1'),
          ),
          DragAndDropItem(
            child: Text('$index.2'),
          ),
          DragAndDropItem(
            child: Text('$index.3'),
          ),
        ],
      );
    });
  }

  @override
  Widget build(BuildContext context) {
    // Add a DragAndDropLists. The only required parameters are children,
    // onItemReorder, and onListReorder. All other parameters are used for
    // styling the lists and changing its behaviour. See the samples in the
    // example app for many more ways to configure this.
    return DragAndDropLists(
      children: _contents,
      onItemReorder: _onItemReorder,
      onListReorder: _onListReorder,
    );
  }

  _onItemReorder(int oldItemIndex, int oldListIndex, int newItemIndex, int newListIndex) {
    setState(() {
      var movedItem = _contents[oldListIndex].children.removeAt(oldItemIndex);
      _contents[newListIndex].children.insert(newItemIndex, movedItem);
    });
  }

  _onListReorder(int oldListIndex, int newListIndex) {
    setState(() {
      var movedList = _contents.removeAt(oldListIndex);
      _contents.insert(newListIndex, movedList);
    });
  }

For further examples, see the example app or view the example code directly.

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden