Skip to content

Midhun-MP/progress_stepper

Repository files navigation

progress_stepper

This package can be used to create custom stepper.

Main Classes

Class Description
ProgressStepper You have to initialise this class to create the custom stepper
ProgressStepWithChevron Custom step with the shape of an arrow
ProgressStepWithArrow Custom step with the shape of chevron
ProgressStepWithBluntChevron Custom step with the shape of chevron, without pointed head

Usage

You can use this control in two ways:

Method 1

You just need to initialise the ProgressStepper with required values, it will create a default progress step with chevron type.

ProgressStepper(
   width: 300,
   currentStep: 1,
)

The above code will create a stepper as shown below:

Default Stepper


Stepper with both end blunt

ProgressStepper(
   width: 300,
   height: 20,
   padding: 1,
   currentStep: 1,
   bluntHead: true,
   bluntTail: true,
   color: Colors.grey,
   progressColor: Colors.deepPurple,
   labels: const <String>['A', 'B', 'C', 'D', 'E'],
   defaultTextStyle: const TextStyle(
      color: Colors.purple,
      fontWeight: FontWeight.w500,
   ),
   selectedTextStyle: const TextStyle(
      color: Colors.white,
      fontWeight: FontWeight.bold,
   ),         
)

Which will result in:

Blunt Stepper

Method 2

You can use the builder to return your own custom step or use the provided steps as you need.

ProgressStepper(
   width: 200,
   height: 25,
   stepCount: 3,
   builder: (BuildContext cbc, int index, double widthOfStep) {
      if (index == 1) {
         return ProgressStepWithArrow(
            width: widthOfStep,
            height: 25,
            defaultColor: Colors.red,
            progressColor: Colors.green,
            borderWidth: 1,
            wasCompleted: true,
            child: Center(
               child: Text(
                  index.toString(),
                  style: const TextStyle(
                     color: Colors.white,
                  ),
               ),
            ),
         );
      }
      return ProgressStepWithChevron(
         width: widthOfStep,
         height: 25,
         defaultColor: Colors.red,
         progressColor: Colors.green,
         borderWidth: 1,
         wasCompleted: false,
         child: Center(
            child: Text(
               index.toString(),
               textAlign: TextAlign.center,
               style: const TextStyle(
                  color: Colors.white,
               ),
            ),
         ),
      );
   },
)

The above code will create a stepper as shown below:

Default Stepper

About

Flutter package for creating a custom progress stepper widget

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages