Pakete, Repositories und App-Kategorien suchen

Cover von loading_overlay
Paketdetailsv0.5.0

loading_overlay

Ein modales Fortschrittsanzeigewidget, das ein- und ausblendet. Umgeben Sie ein anderes Widget, um den Zugriff auf das Widget während eines asynchronen Aufrufs zu blockieren.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
20.400
Likes
192
Pub-Punkte
150

Paket installieren

flutter pub add loading_overlay

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein Flutter-Paket, das ein modales Fortschrittsanzeigewidget bereitstellt, das sanft ein- und ausblendet. Es umgibt jedes Widget, um die Benutzerinteraktion während asynchroner Operationen wie API-Aufrufen oder Datenverarbeitung vorübergehend zu blockieren. Ideal zum Anzeigen von Ladezuständen, ohne den UI-Fluss zu stören. Der Overlay kann programmatisch gesteuert werden und bietet eine saubere und anpassbare Möglichkeit, laufende Aufgaben auf mehreren Plattformen anzuzeigen.

Anwendungsfälle

  • Ladezustand während API-Anfragen anzeigen
  • UI während der Datenverarbeitung blockieren
  • Verbesserung der Benutzererfahrung während asynchroner Vorgänge
  • Visuelle Rückmeldung in Formularen bereitstellen
  • Hintergrundaufgaben in Apps verwalten
  • Verbesserung der Reaktionsfähigkeit in Web- und Mobilanwendungen

Hauptmerkmale

  • glatte Fade-in-/Fade-out-Animationen
  • Programmierbare Überlagerungssteuerung
  • Unterstützt alle wichtigen Plattformen
  • Einfache Integration mit bestehenden Widgets
  • Anpassbare Erscheinung
  • Nicht-blockierende Interaktion des übergeordneten Widgets bei Inaktivität

Geeignet für

  • Entwickler, die responsive Flutter-Apps erstellen
  • Teams, die Benutzererfahrung priorisieren
  • Apps, die klare Ladeanzeiger erfordern
  • Plattformübergreifende Anwendungen
  • UI-intensiven Anwendungen
  • Projekte, die asynchrone Workflows verwenden

Hinweise

  • Kann eine sorgfältige Zustandsverwaltung erfordern
  • Die Sichtbarkeit der Überlagerung muss manuell umgeschaltet werden
  • Leistungsbeeinflussung bei komplexen Benutzeroberflächen
  • Beschränkte Anpassungsmöglichkeiten für fortgeschrittene Stile
  • Nicht geeignet für dauerhafte Ladezustände
  • Abhängig von der korrekten Widget-Baumstruktur

Original-README

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

loading_overlay

A simple widget wrapper to enable modal progress HUD (a modal progress indicator, HUD = Heads Up Display).

Started as a fork of modal_progress_hud Inspired by this article.

Demo

Demo

See example for details

Usage

Add the package to your pubspec.yml file.

dependencies:
  loading_overlay: ^0.4.0

Next, import the library into your widget.

import 'package:loading_overlay/loading_overlay.dart';

Now, all you have to do is simply wrap your widget as a child of LoadingOverlay, typically a form, together with a boolean that is maintained in local state.

...
bool _isSaving_ = false
...

@override
Widget build(BuildContext context) {
  return Scaffold(
     body: LoadingOverlay(
      color: Colors.black.withOpacity(0.5),
      child: Container(
       Form(...)
      ),
      isLoading: _isSaving_
      ),
  );
}

Alternatively, show the overlay until a Future completes (non-breaking new feature):

// Start an async operation
final saveFuture = _saveFormAsync();

return LoadingOverlay.withFuture(
  future: saveFuture,
  color: Colors.black.withOpacity(0.5),
  child: Form(...),
);

Options

The current parameters are customizable in the constructor

LoadingOverlay({
  required bool isLoading,
  required Widget child,
  Widget progressIndicator = const CircularProgressIndicator(),
  Color? color,
});

// New: show overlay until a Future completes
LoadingOverlay.withFuture({
  required Future<void> future,
  required Widget child,
  Widget progressIndicator = const CircularProgressIndicator(),
  Color? color,
});

Update: See this article on Medium about async form validation

See the example application source for a complete sample app using the modal progress HUD. Included in the example is a method for using a form's validators while making async calls (see flutter/issues/9688 for details).

Issues and feedback

Please file issues to send feedback or report a bug. Thank you!

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden