logo

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

Overview

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

Contributing

For more information, see the complete example

Getting Started

In pubspec.yaml:

dependencies:
  loading_mixin: any

Load type: Automatic, Custom, Manual and Predefined Time

Loading Mixin

Basic:

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

import 'package:loading_mixin/loading_mixin.dart';

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

//State Class
class _LoadingMixinTestState extends State<LoadingMixinTest> with LoadingMixin {
  @override
  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


RaisedButton(
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(
    'Async',
    style: TextStyle(color: Colors.white),
),
)

Features and bugs

Please send feature requests and bugs at the issue tracker.

Libraries

loading_mixin