Eine Sliver-Implementierung eines haftenden, zusammenfaltbaren Panels mit einem Box-Header, der bei Statusänderungen neu erstellt wird, und einem Sliver-Kind als Panel-Inhalt.
Aus öffentlichen Paketdaten erstellte Orientierung.
Ein auf Sliver basierendes Widget, das ein haftendes, zusammenfaltbares Panel mit dynamischer Neubildung des Headers basierend auf dem Scrollzustand implementiert. Es verfügt über einen anpassbaren Box-Header, der sich beim Ausklappen oder Zusammenfalten des Panels aktualisiert, und akzeptiert ein Sliver-Kind für den Panelinhalt. Für effizientes Scrollen in komplexen Listen konzipiert, integriert es sich nahtlos in CustomScrollView-Layouts über mehrere Plattformen hinweg.
Anwendungsfälle
Scrollbare Listen mit interaktiven Kopfzeilen
Dynamische Kopfzeilenzustände während des Scrollens
Komplexe Benutzeroberflächen mit feststehenden Paneelen
Inhaltsbereiche, die sich erweitern/verkleinern lassen
Anpassbare scrollgetriebene Interaktionen
Hauptmerkmale
Verhalten des haftenden Panels
Kopfzeile bei Scrollen neu erstellen
Sliver-kompatible Layout
einklappbarer Inhaltsteil
Plattformunabhängige Implementierung
Geeignet für
Entwickler, die scrollbare Schnittstellen erstellen
Apps mit responsive Headern
CustomScrollView-Integrationen
Plattformübergreifende mobile und Web-Anwendungen
UIs mit geschichteten scrollbaren Inhalten
Hinweise
Erfordert Integration innerhalb von CustomScrollView
Beschränkt auf silberbasierte Layouts
Die Kopfzeilenlogik erfordert möglicherweise eine individuelle Anpassung
Die Leistung hängt von der Komplexität des Kindes ab
Nicht geeignet für nicht scrollende Kontexte
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
sliver_sticky_collapsable_panel
A Sliver implementation of sticky collapsable panel, with a box header rebuild on status and a sliver child as panel content.
Snap Shot
Features
Relying solely on the Flutter framework itself, no any other dependencies.
Pure Dart implementation, running on any platform who supports Flutter.
Command style support for expand/collpase the panel.(it's still compatible with declarative style)
Accept one box child as header and one sliver child as panel content.
Header can overlap panel content (useful for sticky side header for example).
Notify and rebuild the header when status changed (scroll outside the viewport for example).
Support not sticky headers (with sticky: false parameter).
Support a controller which notifies the scroll offset of the current sticky header.
Support click the header to collapse the panel, or disable collapse (with disableCollapsable = true parameter in panelController).
Support iOS style sticky header, just like iOS's system contact app (with iOSStyleSticky = true parameter).
Support add padding for sliver child (with paddingBeforeCollapse parameter).
Support add padding after the header even the panel collapsed (with paddingAfterCollapse parameter).
Getting started
In the pubspec.yaml of your flutter project, add the following dependency:
You can add padding for sliver child (with paddingBeforeCollapse), even if the panel is collapsed, the padding still work between headers with paddingAfterCollapse.