Pakete, Repositories und App-Kategorien suchen

Paketdetailsv1.2.1

cupertino_will_pop_scope

Aktiviert 'onWillPop'-Callbacks bei Cupertino-Seitenübergängen und verbessert die visuelle Rückmeldung abgelehnter „Swipe-zurück“-Gesten.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
8910
Likes
58
Pub-Punkte
140

Paket installieren

flutter pub add cupertino_will_pop_scope

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das cupertino_will_pop_scope-Paket erweitert die Flutter-Cupertino-Widgets, indem es onWillPop-Rückrufe während Seitenumbrüche bei iOS-stilvoller Navigation ermöglicht. Es verbessert die Benutzererfahrung durch visuelle Rückmeldung, wenn ein Swipe-zurück-Gesten-Aktion abgelehnt wird, und sorgt für eine flüssigere und intuitivere Navigation. Dieses Paket ist besonders nützlich für Apps, die vor dem Zurücknavigieren eine benutzerdefinierte Bestätigungslogik benötigen, beispielsweise bei Formularvalidierung oder ungespeicherten Änderungen. Es lässt sich nahtlos mit bestehenden Implementierungen von CupertinoPageScaffold und CupertinoPageRoute integrieren.

Anwendungsfälle

  • Ungespeicherte Änderungen vor der Navigation behandeln
  • Benutzerdefinierte Rückwärts-Gestenüberprüfung
  • Verbesserung der UX bei iOS-artiger Navigation
  • Unbeabsichtigte Navigation verhindern
  • Bestätigungsdialoge beim Zurück-Schieben implementieren
  • Verbesserung der Swipe-zurück-Rückmeldung

Hauptmerkmale

  • Unterstützung von onWillPop in Cupertino-Übergängen
  • Visuelle Rückmeldung für abgelehnte Swipe-Gesten
  • Funktioniert mit CupertinoPageScaffold und Routen
  • Minimale Boilerplate-Integration
  • Plattformübergreifende Kompatibilität
  • Sauberer API für Rückwärts-Gestensteuerung

Geeignet für

  • iOS-Stil-Anwendungen mit Cupertino-Navigation
  • Apps, die benutzerdefinierte Rückwärtsnavigation-Logik benötigen
  • Entwickler, die die Swipe-back-Nutzererfahrung verbessern
  • Projekte, die vor dem Pop eine Bestätigung erfordern
  • Teams, die konsistente mobile Navigation entwickeln
  • Flutter-Anwendungen für mehrere Plattformen

Hinweise

  • Benötigt die Verwendung von CupertinoPageScaffold
  • Beschränkt auf iOS-artige Navigationsmuster
  • Kann mit anderen Routen-Interceptoren konflikten
  • Nicht erforderlich für Material-Design-Apps
  • Am besten mit expliziter Rückenbehandlung verwenden
  • Hat keinen Einfluss auf das Android-Zurück-Verhalten

Original-README

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

CupertinoWillPopScope

pub package

Note: This package can be used on any platform, and is not specific to iOS. ConditionalWillPopScope and CupertinoWillPopScopePageTransionsBuilder can each be used seprately.


CupertinoWillPopScopePageTransionsBuilder

The key to this package is a modified version of Flutter's CupertinoPageRoute, which has been enhanced with the following:

  • Visual feedback when users attempt to "swipe to go back" - the screen is allowed to be dragged a bit before it is snapped back to place.
  • If an enclosing route has willPop callbacks, they are triggered once the screen is snapped back to place.
ConditionalWillPopScope

When using this widget, be sure to update shouldAddCallbacks based on the state of your screen, and only set it to true when the screen should not be allowed to pop. Additionally, the onWillPop property should not be changed once set.


A working app using this package can be found in the example folder.

Usage

To use this package, add cupertino_will_pop_scope as a dependency in your pubspec.yaml file.

Example

Import the library
// main.dart
import 'package:decorated_icon/cupertino_will_pop_scope.dart';
Configure page transitions

Set the transition builder of the desired platform to CupertinoWillPopScopePageTransionsBuilder in your theme configuration.

// main.dart
theme = ThemeData(
  ...
  pageTransitionsTheme: PageTransitionsTheme(
    builders: {
      TargetPlatform.android: ZoomPageTransitionsBuilder(),
      TargetPlatform.iOS: CupertinoWillPopScopePageTransionsBuilder(),
    },
  ),
);
Make sure the theme is applied to the app.
// main.dart
MaterialApp(
  ...
  theme: theme,
  home: HomeScreen(),
);
Wrap your screen

Using the included ConditionalWillPopScope widget, or Flutter's WillPopScope widget, wrap your screen and define an onWillPop callback for it.

Note that onWillPop should always return a bool. See the Flutter Docs for more.
Using ConditionalWillPopScope:
// my_screen.dart
@override
Widget build(BuildContext context) {
  return ConditionalWillPopScope(
    child: _MyScreenContent(),
    onWillPop: _onWillPop,
    shouldAddCallbacks: _hasChanges,
  );
}
Using WillPopScope:
// my_screen.dart
@override
Widget build(BuildContext context) {
  return WillPopScope(
    child: _MyScreenContent(),
    onWillPop: _hasChanges ? _onWillPop : null,
  );
}

:warning: When using Flutter's WillPopScope widget, the onWillPop must be set conditionally. Otherwise, the "swipe to go back" gesture will be cancelled. In the example above, this is achieved by using _hasChanges as the condition.

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.