loading_mixin 1.1.0 copy "loading_mixin: ^1.1.0" to clipboard
loading_mixin: ^1.1.0 copied to clipboard

Add loading to your application with just two words, adding this mixin to your class.

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.startAutomaticLoad(context, requestData);

      result != null ? print('$result') : print('No data found!');
    },
    child: Text('Default Load',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.startAutomaticLoad(
        context,
        requestData,
        loadingConfig: LoadingConfig(customLoad: customLoad),
        );

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

Manual Load: You can also start and finish the load manually


  RaisedButton( onPressed: () async {
      //Open Load
      var ovelayEntry = this.startManualLoad(context);

      //Your code
      print('Put your code here!');
      await Future.delayed(Duration(seconds: 2));

      //Close Load
      this.endManualLoad(context, ovelayEntry);
    },
    child: Text(
      'Manual Load',
      style: TextStyle(color: Colors.white),
    ),
  )

Features and bugs #

Please send feature requests and bugs at the issue tracker.

4
likes
40
pub points
0%
popularity

Publisher

unverified uploader

Add loading to your application with just two words, adding this mixin to your class.

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on loading_mixin