OverlayAdaptiveProgressHub
A Flutter package that provides an adaptive modal progress HUD (Heads-Up Display) overlay, enabling developers to easily indicate loading states within their applications. The package offers extensive customization options for opacity, color, progress indicators, offsets, and background blur effects, making it a flexible solution for Flutter apps.
Features
- Customizable Overlay: Adjust the opacity, color, and blur intensity of the modal overlay.
- Adaptive Progress Indicators: Use various progress indicators, including the default Android spinner or custom widgets.
- Position Control: Set an offset to position the progress indicator anywhere on the screen.
- Dismissible Overlay: Optionally allow users to dismiss the overlay by tapping on it.
- Responsive Design: The overlay adjusts automatically to different screen sizes and orientations.
Installation
Add the following dependency to your pubspec.yaml
file:
dependencies:
overlay_adaptive_progress_hub: ^1.0.0
Next, import the package
import 'package:modal_progress_hud/modal_progress_hud.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Overlay Adaptive Progress Hub Example',
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
bool _isLoading = false;
void _toggleLoading() {
setState(() {
_isLoading = !_isLoading;
});
}
@override
Widget build(BuildContext context) {
return OverlayAdaptiveProgressHub(
inAsyncCall: _isLoading,
opacity: 0.5,
color: Colors.black,
progressIndicator: CircularProgressIndicator(),
dismissible: true,
child: Scaffold(
appBar: AppBar(title: Text('Overlay Adaptive Progress Hub Example')),
body: Center(
child: ElevatedButton(
onPressed: _toggleLoading,
child: Text(_isLoading ? 'Stop Loading' : 'Start Loading'),
),
),
),
);
}
}