Easy Loading.
A simple and customizable Flutter package for showing loading indicator. It helps developers display smooth and responsive loading overlays with minimal setup and easy-to-use APIs. .
Features
- Normal loading overlay with blur effect
- Customizable
CircularProgressIndicator
- Progress loader with percentage display
- Easy to show and dismiss
Quickstart
Add dependency to your pubspec file
Add this to your pubspec.yaml
:
dependencies:
easyloading_plus: ^1.0.0
Then run:
flutter pub get
Usage
Show normal loader
EasyLoading.show(context);
Show progress loader
EasyLoading.showProgress(context, 50); // 50% complete
Dismiss loader
EasyLoading.dismiss();
Example
See example/main.dart for a full working example.
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:easyloading_plus/easyloading_plus.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'EasyLoading Example',
home: const HomePage(),
);
}
}
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text("EasyLoading Example")),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
EasyLoading.show(context);
Future.delayed(const Duration(seconds: 3), () {
EasyLoading.dismiss();
});
},
child: const Text("Show Loader"),
),
const SizedBox(height: 20),
ElevatedButton(
onPressed: () {
double percent = 0;
EasyLoading.showProgress(context, percent);
// simulate progress using Timer.periodic
Timer.periodic(const Duration(milliseconds: 300), (timer) {
percent += 10;
if (percent > 100) {
EasyLoading.dismiss();
timer.cancel();
} else {
EasyLoading.showProgress(context, percent);
}
});
},
child: const Text("Show Progress Loader"),
),
],
),
),
);
}
}