Skip to content

emreesen27/Flutter-Progress-Dialog

Repository files navigation

Sn Progress Dialog

Progress dialog package for flutter

Getting Started

You must add the library as a dependency to your project.

dependencies: sn_progress_dialog: ^1.2.0

You should then run flutter packages get

Now in your Dart code, you can use:

import 'package:sn_progress_dialog/sn_progress_dialog.dart';
Normal Progress Valuable Progress
Preparing Progress Custom Progress

Usage Example

Create Progress Dialog

ProgressDialog pd = ProgressDialog(context: context);

Set options

  • Both parameters are not mandatory with version 1.1.3 (max, msg)
  • Default values can be changed according to the intended use.
pd.show(max: 100, msg: 'File Downloading...');

You don't need to update state, just pass the value.

  • If you're not interested in showing value, you don't need to update progressValue.
pd.update(value: ProgressValue, msg: "Updated message"); 

Completed Type

  • Use this to update the dialog when the process is finished. If it is Empty, progress automatically closes.

 completed: Completed() // To use with default values completed: Completed(completedMsg: "Downloading Done !", completedImage: AssetImage("image path"), completionDelay: 2500)

Cancel Option

  • Use the "cancel" class to create a cancel button
cancel: Cancel() // To use with default values cancel: Cancel(cancelImageSize: 20.0, cancelImageColor: Colors.blue, cancelImage: AssetImage("image path"), cancelClicked: () {})

Dialog Status

  • Returns the current state of the dialog.
onStatusChanged: (status) { if (status == DialogStatus.opened) print("opened"); else if (status == DialogStatus.closed) print("closed"); else if (status == DialogStatus.completed) print("completed"); }

Other Properties

Dialog closes automatically when its progress status equals the max value. Use this method if you want to turn it close manually.

pd.close();

Returns whether the dialog box is open.

pd.isOpen();

Example Use With Dio

var dio = new Dio(); ProgressDialog pd = ProgressDialog(context: context); pd.show(max: 100, msg: 'File Downloading...'); await dio.download( 'your download_url', 'your path', onReceiveProgress: (rec, total) { int progress = (((rec / total) * 100).toInt()); pd.update(value: progress); }, );

If you like the library, you can support the github repo by giving a star.

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages