Pakete, Repositories und App-Kategorien suchen

Cover von swipable_stack
Paketdetailsv2.0.0

swipable_stack

Ein Widget zum Stapeln von Karten, mit dem Benutzer horizontal und vertikal wie bei Tinder wunderbare Animationen erzeugen können.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
9140
Likes
325
Pub-Punkte
150

Paket installieren

flutter pub add swipable_stack

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein Flutter-Widget, das eine interaktive Kartenstapel mit glatten horizontalen und vertikalen Swipen-Animationen erstellt, inspiriert durch Tinder. Es ermöglicht Benutzern, Karten mit intuitiven Gesten nach links oder rechts (oder nach oben/unten) zu swipen, begleitet von eleganten Übergängen. Ideal für Apps, die eine swipebasierte Oberfläche erfordern, wie Dating-Apps, Produktpräsentationen oder Inhaltsentdeckungsfunktionen. Das Paket unterstützt mehrere Plattformen wie Android, iOS, Web, macOS, Windows und Linux und sorgt für konsistentes Verhalten über Geräte hinweg.

Anwendungsfälle

  • Dating-App-Oberflächen
  • Produkt- oder Artikelentdeckung
  • Inhalt durch Wischgesten durchsuchen
  • interaktive Onboarding-Flows
  • Gamifizierter Nutzerengagement
  • Swipe-basierte Quizze

Hauptmerkmale

  • Glatte horizontale und vertikale Wischbewegungen
  • Anpassbare Animationskurven
  • Gestenerkennung mit Feedback
  • Unterstützung für mehrere Plattformen
  • Einfache Integration mit bestehender Benutzeroberfläche
  • Konfigurierbare Karten-Ausrichtung und -Abstände

Geeignet für

  • Entwickler, die swipebasierte Benutzeroberflächen erstellen
  • Designer, die interaktive Karten-Erlebnisse suchen
  • Apps, die eine gestenbasierte Navigation erfordern
  • Plattformübergreifende mobile und Web-Anwendungen
  • Interaktive Layouts prototypisieren

Hinweise

  • Kann eine Leistungsoptimierung für große Kartenstapel erfordern
  • Begrenzte integrierte Anpassungsmöglichkeiten für komplexe Animationen
  • Erfordert sorgfältige Behandlung des Zustands bei schnellen Wischbewegungen
  • Nicht für extrem hohe Frequenz von Wisch-Interaktionen optimiert
  • Am besten geeignet für moderate Kartenanzahlen, um die Reaktionsfähigkeit zu gewährleisten

Original-README

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

swipable_stack

pub.dev github likes popularity pub points license

A widget for stacking cards, which users can swipe horizontally and vertically with beautiful animations like Tinder UI.

demo

(Sorry, the package name swipable_stack is typo of swipeable stack)

Usage

builder

A SwipableStack uses a builder to display widgets.

SwipableStack(
  builder: (context, properties) {
    return Image.asset(imagePath);
  },
),

onSwipeCompleted

You can get completion event with onSwipeCompleted.

SwipableStack(
  onSwipeCompleted: (index, direction) {
    print('$index, $direction');
  },
)

overlayBuilder

You can show overlay on the front card with overlayBuilder.

SwipableStack(
  overlayBuilder: (context, properties) {
    final opacity = min(properties.swipeProgress, 1.0);
    final isRight = properties.direction == SwipeDirection.right;
    return Opacity(
      opacity: isRight ? opacity : 0,
      child: CardLabel.right(),
    );
  },
)

controller

SwipableStackController allows you to control swipe action & also rewind recent action.

final controller = SwipableStackController();

SwipableStack(
  controller:controller,
  builder: (context, properties) {
    return Image.asset(imagePath);
  },
);
controller.next(
  swipeDirection: SwipeDirection.right,
);
controller.rewind();

SwipableStackController provides to access currentIndex of SwipableStack.

final controller = SwipableStackController();
controller.addListener(() {
  print('${_controller.currentIndex}');
});

onWillMoveNext

You can also restrict user actions according to index or action with onWillMoveNext.

SwipableStack(
  onWillMoveNext: (index, direction) {
    final allowedActions = [
      SwipeDirection.right,
      SwipeDirection.left,
    ];
    return allowedActions.contains(direction);
  },
);

swipeAssistDuration

You can set the speed the user is able to swipe through Widgets with the swipeAssistDuration.

SwipableStack(
  swipeAssistDuration: Duration(milliseconds: 100),
)

The default is 650ms.

stackClipBehaviour

You can set the clipBehaviour of the stack with the stackClipBehaviour.
Change it to Clip.none to exceed the boundaries of parent widget size.

SwipableStack(
  stackClipBehaviour: Clip.none,
)

The default is Clip.hardEdge.

allowVerticalSwipe

Disable vertical swipe with allowVerticalSwipe.
Changing to false disable vertical swipe capabilities

SwipableStack(
  allowVerticalSwipe: false,
)

The default is true.

swipeTopAnchor

Set the swipe anchor with swipeAnchor with the following enum SwipeAnchor.top : card rotation on bottom and anchored on top SwipeAnchor.bottom : card rotation on top and anchored on bottom

SwipableStack(
  swipeAnchor: SwipeAnchor.top,
)

The default is SwipeAnchor.top.

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.