loading_layout 1.0.1 copy "loading_layout: ^1.0.1" to clipboard
loading_layout: ^1.0.1 copied to clipboard

The easy way to show loading indicators in your Flutter app. Less boilerplate code, highly customizable.

Loading Widget #

The easy way to show loading indicators in your Flutter app! With this package, you can easily show loading indicators on your app without having to add boilerplate code like a stack widget. Plus, the widget is highly customizable, allowing you to integrate third-party loading indicators or your self-made ones.

Installing #

Add this to your package's pubspec.yaml file:

dependencies:
  loading_widget: ^latest

Import #

import 'package:loading_widget/loading_widget.dart';

How to use #

import 'package:flutter/material.dart';
import 'package:loading_layout/loading_layout.dart';

class SimplePage extends StatefulWidget {
  const SimplePage({Key? key}) : super(key: key);

  @override
  State<SimplePage> createState() => _SimplePageState();
}

class _SimplePageState extends State<SimplePage> {
  var isLoading = false;

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: LoadingLayout(
          displayDuration: 3000,
          dismissOnTap: true,
          onDismissTap: () {
            print('OnDismiss');
            setState(() {
              isLoading = false;
            });
          },
          onDisplayTimeOut: () {
            isLoading = false; setState(() {
              isLoading = false;
            });
            print('onDisplayTimeOut');
          },
          onToggleChanged: (val) {
            print('onToggleChanged $val');
          },
          isLoading: isLoading,
          child: Scaffold(
            body: Container(),
            floatingActionButton: FloatingActionButton(
                child: Icon(isLoading ? Icons.toggle_off : Icons.toggle_on),
                onPressed: () {
                  setState(() {
                    isLoading = !isLoading;
                  });
                }),
          )),
    );
  }
}
  • Use loading_controller
import 'package:flutter/material.dart';
import 'package:loading_layout/loading_controller.dart';
import 'package:loading_layout/loading_layout.dart';

class WithControllerPage extends StatelessWidget {
  WithControllerPage({Key? key}) : super(key: key);
  final LoadingController _controller = LoadingController(
    displayDuration: 3000,
  );

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        body: LoadingLayout.withController(
          controller: _controller,
          dismissOnTap: true,
          child: Container(),
        ),
        floatingActionButton: FloatingActionButton(
            child: ValueListenableBuilder(
              valueListenable: _controller,
              builder: (context, isLoading, _) =>
                  Icon(isLoading ? Icons.toggle_off : Icons.toggle_on),
            ),
            onPressed: () {
              _controller.value = !_controller.value;
            }),
      ),
    );
  }
}

Changelog #

CHANGELOG

License #

MIT License

0
likes
160
pub points
0%
popularity

Publisher

unverified uploader

The easy way to show loading indicators in your Flutter app. Less boilerplate code, highly customizable.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on loading_layout