Search packages, repositories and app categories

Package detailsv0.0.3

progress_indicator_button

A simple button which can transform and show a progress indicator.

30-day downloads
33
Likes
20
Pub points
30

Install package

flutter pub add progress_indicator_button

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter package that provides a customizable button capable of transitioning into a progress indicator during actions like form submission or loading states. It enhances user experience by visually indicating ongoing processes without requiring additional widgets. The button smoothly animates from a standard state to a loading spinner or custom progress UI, then returns to its original form upon completion. Ideal for forms, authentication flows, and any scenario needing clear feedback during async operations.

Use cases

  • Form submissions
  • Authentication flows
  • Loading state indicators
  • Async operation feedback
  • User action confirmation

Key features

  • Smooth transition to progress indicator
  • Customizable loading UI
  • Automatic state management
  • Supports callbacks on completion
  • Lightweight and easy to integrate

Suitable for

  • Simple loading buttons
  • User-facing forms
  • Mobile app interactions
  • Quick UI enhancements
  • Developers seeking minimal setup

Considerations

  • Limited customization beyond basic styling
  • No built-in support for complex animations
  • Depends on external state management
  • Not suitable for highly dynamic progress bars
  • Requires manual handling of async logic

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Progress Button

Pub Build Status Donate

A simple button that gives you the possibility to transform into a circular one and shows a progress indicator.

How to use

Container(
    width: 200,
    height: 60,
    child: ProgressButton(
        borderRadius: BorderRadius.all(Radius.circular(8)),
        strokeWidth: 2,
        child: Text(
            "Sample",
            style: TextStyle(
                color: Colors.white,
                fontSize: 24,
            ),
        ),
        onPressed: (AnimationController controller) {
            if (controller.isCompleted) {
                controller.reverse();
            } else {
                controller.forward();
            }
        },
    ),
),

Please check the sample folder for a simple implementation.

Changelog

Please see the Changelog page to know what's recently changed.

Contributions

Feel free to contribute to this project.

If you find a bug or want a feature, but don't know how to fix/implement it, please fill an issue.
If you fixed a bug or implemented a new feature, please send a pull request.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Categories

Source repository

Projects using this package

No data available yet.