progress_dialog 1.1.0+1

progress_dialog #

A light weight package to show progress dialog. As it is a stateful widget, you can change the text shown on the dialog dynamically.

Get the library | Example

Supported Dart Versions #

Dart SDK version >= 2.1.0

Demo #

Normal ProgressDialog | Download ProgressDialog

How to use #

Add Package

  progress_dialog: ^1.1.0+1
import 'package:progress_dialog/progress_dialog.dart';

Create an instance of ProgressDialog

ProgressDialog pr;

Initialise the pr object inside the build() method passing context to it

For Normal Progress Dialog #

  1. Initialize the ProgressDialog object
    pr = new ProgressDialog(context,ProgressDialogType.Normal);
    
  2. If need you can change the default message of progress dialog
    pr.setMessage('Please wait...');
    
  3. Showing the progress dialog
    pr.show();
    
  4. Dynamically update the content shown out there
    pr.update(message: "Few more seconds...");
    
  5. Dismissing the progress dialog
    pr.hide();
    

For Download Progress Dialog #

  1. Initialize the ProgressDialog object
    pr = new ProgressDialog(context,ProgressDialogType.Download);
    
  2. Showing the progress dialog
    pr.show();
    
  3. If you have been using progress dialog of type Download, percentage should be a double
    pr.update(progress: percentage,message: "Please wait...");
    
  4. Dismissing the progress dialog
    pr.hide();
    

Check if progress dialog is showing #

bool isProgressDialogShowing = pr.isShowing();

Loading indicator -> https://loading.io/

[1.1.0+1] - Added interactive double ring loading indicator, updated documentation

[1.0.8] - Added interactive double ring loading indicator, updated documentation

[1.0.4] - Bug fixes.

[1.0.3] - Update Dart Version.

[1.0.2] - Added shown/hidden accessibility.

[1.0.1] - Added example and ready for package release.

example/README.md

Complete Example #

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

ProgressDialog pr;

void main() {
  runApp(MaterialApp(
    home: MyApp(),
  ));
}

class MyApp extends StatelessWidget {
  var percentage = 0.0;

  @override
  Widget build(BuildContext context) {
    //    pr = new ProgressDialog(context, ProgressDialogType.Normal);
    pr = new ProgressDialog(context, ProgressDialogType.Download);
    pr.setMessage('Downloading file...');
    return Scaffold(
      body: Center(
        child: RaisedButton(
            child: Text(
              'Show Dialog',
              style: TextStyle(color: Colors.white),
            ),
            color: Colors.blue,
            onPressed: () {
              pr.show();
              Future.delayed(Duration(seconds: 2)).then((onvalue) {
                percentage = percentage + 30.0;
                print(percentage);
                pr.update(progress: percentage, message: "Please wait...");
                Future.delayed(Duration(seconds: 2)).then((value) {
                  percentage = percentage + 30.0;
                  pr.update(
                      progress: percentage, message: "Few more seconds...");
                  print(percentage);
                  Future.delayed(Duration(seconds: 2)).then((value) {
                    percentage = percentage + 30.0;
                    pr.update(progress: percentage, message: "Almost done...");
                    print(percentage);

                    Future.delayed(Duration(seconds: 2)).then((value) {
                      pr.hide();
                      percentage = 0.0;
                    });
                  });
                });
              });
            }),
      ),
    );
  }
}

Demo #

Normal Progress Download Progress

Use this package as a library

1. Depend on it

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


dependencies:
  progress_dialog: ^1.1.0+1

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:progress_dialog/progress_dialog.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
95
Health:
Code health derived from static analysis. [more]
99
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
97
Learn more about scoring.

We analyzed this package on Aug 16, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.4.0
  • pana: 0.12.19
  • Flutter: 1.7.8+hotfix.4

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Health issues and suggestions

Document public APIs. (-1 points)

21 out of 21 API elements have no dartdoc comment.Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.6 1.1.7
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test