Aus öffentlichen Paketdaten erstellte Orientierung.
sliver_catalog ist ein Flutter-Paket, das eine ausgewählte Sammlung experimenteller und kreativer Slivers bietet, die dazu dienen, scrollbare Schnittstellen zu verbessern. Für Entwickler, die einzigartige und visuell ansprechende Scroll-Erlebnisse suchen, erweitert es die eingebauten Sliver-Komponenten von Flutter mit innovativen Layouts und Verhaltensweisen. Ideal für Prototyping oder zur Hervorhebung von Apps mit komplexen Scroll-Interaktionen, unterstützt das Paket alle wichtigen Plattformen, einschließlich Mobilgeräte, Web und Desktop. Durch seine modulare Architektur lässt es sich problemlos in bestehende Scrollansichten integrieren.
Verbesserung des visuellen Erscheinungsbildes der App
Benutzerdefinierte Scroll-Layouts erstellen
Experimentelle Sliver-Verhaltensweisen hinzufügen
Hauptmerkmale
experimentelle Sliver-Widgets
Kreative Scroll-Designs
Plattformübergreifende Unterstützung
Modular und erweiterbar
Einfache Integration mit ScrollView
Geeignet für
Flutter-Entwickler, die Scroll-Effekte erkunden
Designer, die einzigartige Benutzeroberflächenkomponenten wollen
App-Bauer, die visuelle Innovation suchen
Prototypen-Tester testen neue Scrollmuster
Teams, die immersivere Scroll-Erfahrungen erstellen
Hinweise
Am besten geeignet für experimentelle Projekte
Kann zusätzliche Stilisierung erfordern
Nicht empfohlen für Produktionsstabilität
Eingeschränkte Dokumentation
Möglicher Leistungseinfluss bei komplexen Layouts
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
What this library is
A collection of experimental and creative slivers for Flutter. Extend your scrolling experience beyond the basics.
Gallery
Demo
Overview
Sliver Catalog provides a set of advanced and experimental slivers for Flutter, enabling developers to create unique, visually engaging scroll effects. The package includes basic slivers as a platform for creating effects and specific implementations that provide ready-to-use effects.
Basics
ScrollHijackSliver: A sliver that consumes a specified amount of scrollable space before allowing its child to start scrolling.
LeavingViewportShaderSliver: Applies a shader on top of the child while it leaves the viewport.
LeavingViewportTransformedRenderSliver: A render object that applies a transformation to the child while it leaves the viewport.
Ready-to-use effects
SpinnerSliver: Rotates its child as it leaves the viewport, with configurable anchor and angle.
GliderSliver: Smoothly shifts the child in and out of the viewport.
FreezeSliver: Applies a freezing effect to the child while it leaves the viewport.
BloodSliver: Applies a blood covering effect to the child while it leaves the viewport.
Explore the library
ScrollHijackSliver
A sliver that consumes a specified amount of scrollable space before allowing its child to start scrolling. This is useful for creating custom scroll-driven animations and effects.
Key features:
Exposes a ValueListenable<double> progress (0.0–1.0) to the builder, so you can animate your child based on the progress.
Supports different progress calculation behaviors via ScrollHijackProgressBehavior.
A sliver that applies a fragment shader effect to its child as it leaves the viewport. This enables advanced visual effects as the user scrolls.
Key features:
Can operate with a raw FragmentShader that uses a specific order of arguments (size, offset, progress), or with a custom shader wrapper for any uniform order via the LeavingViewportShader interface.
The shader receives the child's size, paint offset, and a progress value (0.0–1.0) indicating how much the child has left the viewport.
Example:
CustomScrollView(
slivers: [
// Using a raw FragmentShader (default uniform order)LeavingViewportShaderSliver.fromFragmentShader(
shader: myFragmentShader,
child: Image.network('https://...'),
),
// Using a custom wrapper for arbitrary uniform orderLeavingViewportShaderSliver(
shader: MyCustomLeavingViewportShader(),
child: Image.network('https://...'),
),
// ... other slivers ...
],
)
There are also two built-in inheritances of LeavingViewportShaderSliver:
FreezeSliver
A sliver that applies a "freezing" shader effect to its child as it leaves the viewport. This effect is built-in and requires no manual shader setup.
Key features:
Uses a predefined freezing shader bundled with the package.
No shader code required—just wrap a content with the sliver.
A sliver that applies a "blood covering" shader effect to its child as it leaves the viewport. This effect is built-in and requires no manual shader setup.
Key features:
Uses a predefined blood shader bundled with the package.
No shader code required—just wrap a content with the sliver.
A base render sliver for creating scroll-driven 3D or 2D transformations as a child leaves the viewport. This class is intended for advanced use, enabling you to define custom transformation effects (such as rotation, scaling, skewing, etc.) based on scroll progress.
Key features:
Exposes a performTransform method to define any transformation matrix based on child size and leaving progress.
Handles all the layout, painting, and hit testing logic for you.
Allows to define a custom hit testing logic if it is necessary.
Usage:
To create a custom effect, extend LeavingViewportTransformedRenderSliver and implement performTransform.
We appreciate any form of support, whether it's a financial donation, a public sharing, or a star on GitHub and a like on Pub. If you want to provide financial support, there are several ways you can do it: