loading icon button Pub Version (including pre-releases) GitHub issues GitHub contributors

LoadingButton LoadingButton ArgonButton


Add this to your pubspec.yaml:

    loading_icon_button: ^0.0.5



import 'package:loading_icon_button/loading_icon_button.dart';

Implementation of LoadingButton

 final LoadingButtonController _btnController = LoadingButtonController();

  void buttonPressed() async {
    Future.delayed(const Duration(seconds: 1), () {
      Future.delayed(const Duration(seconds: 1), () {

    child: const Text('Login with Apple'),
    iconData: PhosphorIcons.appleLogo,
    onPressed: () => buttonPressed(),
    controller: _btnController,

Implementation of ArgonButton

  height: 50,
  width: 350,
  borderRadius: 5.0,
  color: Color(0xFF7866FE),
  child: Text(
    style: TextStyle(
        color: Colors.white,
        fontSize: 18,
        fontWeight: FontWeight.w700
  loader: Container(
    padding: EdgeInsets.all(10),
    child: SpinKitRotatingCircle(
      color: Colors.white,
      // size: loaderWidth ,
  onTap: (startLoading, stopLoading, btnState) {

onTap:(startLoading, stopLoading, btnState){
  if(btnState == ButtonState.Idle){
    await doNetworkRequest();

Properties of IconLoadingButton:

  • duration - The duration of the button animation
  • loaderSize - The size of the CircularProgressIndicator
  • animateOnTap - Whether to trigger the loading animation on the tap event
  • resetAfterDuration - Reset the animation after specified duration, defaults to 15 seconds
  • errorColor - The color of the button when it is in the error state
  • successColor - The color of the button when it is in the success state
  • successIcon - The icon for the success state
  • failedIcon - The icon for the failed state
  • iconColor - The icon color for the button
  • showBox - The visibility of the box(Card)


All contributions are welcome! Contributions are what make the open source community such an amazing place to be learned, inspire, and create. Any contributions you make are greatly appreciated.

Thanks to

RoundedLoadingButton rounded_loading_button https://pub.dev/packages/rounded_loading_button

IconLoadingButton icon_loading_button https://pub.dev/packages/icon_loading_button

ArgonButton argon_buttons_flutter https://pub.dev/packages/argon_buttons_flutter