Want to add Loading to your app?
With Loading Mixin you get it in a simple, fast and customizable way

Pub Package Buy Me A Coffee


This package is for you to add loading to your application with just two words, adding this mixin to your class.


For more information, see the complete example

Getting Started

In pubspec.yaml:

  loading_mixin: any

Load type: Automatic, Custom, Manual and Predefined Time

Loading Mixin


First: in your State class, add the mixin to the LoadingMixin class

import 'package:loading_mixin/loading_mixin.dart';

class LoadingMixinTest extends StatefulWidget {
  _LoadingMixinTestState createState() => _LoadingMixinTestState();

//State Class
class _LoadingMixinTestState extends State<LoadingMixinTest> with LoadingMixin {
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Loading Mixin'),
      body: buildBody(),

Second: add the startLoad method by passing your asynchronous function wherever you need

  RaisedButton(onPressed: () async {
        var result = await this.startLoad(context, requestData);

        result != null ? print('$result') : print('No data found!');
    child: Text('Async',style: TextStyle(color: Colors.white),

  //Async/HTTP request Example
  static Future requestData() async {
    await Future.delayed(Duration(milliseconds: 1500));
    return 1844;

Custom: You can also customize your loading by passing the customLaod parameter

onPressed: () async {
    var customLoad = Container(
    height: 50,
    width: 50,
    color: Colors.transparent,
    child: Center(
        child: CircularProgressIndicator(
        valueColor: new AlwaysStoppedAnimation<Color>(Colors.yellow),
    var result = await this.startLoad(context, requestData, customLoad: customLoad);

    result != null ? print('$result') : print('No data found!');
child: Text(
    style: TextStyle(color: Colors.white),

Features and bugs

Please send feature requests and bugs at the issue tracker.