loading_provider 0.0.9 copy "loading_provider: ^0.0.9" to clipboard
loading_provider: ^0.0.9 copied to clipboard

Flutter package for easily displaying loading overlays with customizable configurations.

loading_provider #

Flutter package for easily displaying loading overlays with customizable configurations.

  1. Import the package:
import 'package:loading_provider/loading_provider.dart';
  1. Wrap your MaterialApp or root widget with LoadingProvider:
void main() {
  runApp(
    LoadingProvider(
      appBuilder: (context, builder) => MaterialApp(
        home: const Home(),
        builder: builder,
      ),
      loadings: {  // Provide loading configurations with name to use later to show different loadings.
        'loading1': LoadingConfig(
          backgroundColor: Colors.blue.withOpacity(0.5),
          widget: const Text('Loading'),
        ),
        // add other loadings
      },
    ),
  );
}
ElevatedButton(
  onPressed: () async {
    var loading = context.loadingController
    loading.on(); // Show loading overlay. It will use default loading
    await Future.delayed(const Duration(seconds: 3));
    loading.off(); // Hide loading overlay
    loading.on('loading1');  // with name to use specific loading provided in [LoadingProvider]
    await Future.delayed(const Duration(seconds: 3));
    loading.off(); // Hide loading overlay
  },
  child: const Text('Loading'),
),
  1. Use the LoadingBuilder widget to show loading overlays:
LoadingBuilder(
  config: const LoadingConfig(), // Optional or it will used default loading
  builder: (context, setLoading) {
    return ElevatedButton(
      onPressed: () async {
        setLoading(true); // Show loading overlay
        await Future.delayed(Duration(seconds: 2));
        setLoading(false); // Hide loading overlay
      },
      child: Text('Show Loading'),
    );
  },
);
  1. Use the LoadingWidget widget to show loading overlays:
LoadingWidget(
  isLoading: true,
  config: const LoadingConfig(), // Optional or it will used default loading
  child: Text('Loading...'),
);

Customization #

You can customize the loading overlay by providing a LoadingConfig object with your desired configurations:

LoadingConfig(
  backgroundColor: Colors.blue.withValues(alpha: 0.5),
  widget: CircularProgressIndicator(
    valueColor: AlwaysStoppedAnimation(Colors.white),
  ),
)

Author #

Amit's Picture

GitHub: Amit Hasan

3
likes
160
points
51
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter package for easily displaying loading overlays with customizable configurations.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter, provider

More

Packages that depend on loading_provider