multi_circular_slider 1.1.0 multi_circular_slider: ^1.1.0 copied to clipboard
A Flutter package for Android, iOS & Web which helps creating multi-layered animated circular progress bar which can help display multiple values in a single bar.
Multi Circular Slider #
A highly customizable progress bar for Flutter which helps showing multiple values in single progress bar with different colors and also animate it for you.
Preview #
Getting Started #
Installation #
Add
dependencies:
multi_circular_slider: ^1.1.0
to your pubspec.yaml
, and run
flutter packages get
in your project's root directory.
Basic Usage #
Import it to your project file
import 'package:multi_circular_slider/multi_circular_slider.dart';
And add it in its most basic form like it:
MultiCircularSlider(
size: MediaQuery.of(context).size.width * 0.8,
progressBarType: MultiCircularSliderType.circular,
values: [0.2, 0.1, 0.3, 0.25],
colors: [Color(0xFFFD1960), Color(0xFF29D3E8), Color(0xFF18C737), Color(0xFFFFCC05)],
showTotalPercentage: true,
),
There are additional optional parameters one can initialize the slider with.
MultiCircularSlider(
size: MediaQuery.of(context).size.width * 0.8,
progressBarType: MultiCircularSliderType.circular, // the type of indictor you want circular or linear
values: [0.2, 0.1, 0.3, 0.25],
colors: [Color(0xFFFD1960), Color(0xFF29D3E8), Color(0xFF18C737), Color(0xFFFFCC05)],
showTotalPercentage: true, // to display total percentage in center
label: 'This is label text', // label to display below percentage
animationDuration: const Duration(milliseconds: 500), // duration of animation
animationCurve: Curves.easeIn, // smoothness of animation
innerIcon: Icon(Icons.integration_instructions), // to display some icon related to text
innerWidget: Text('96%'), // to show custom innerWidget (to display set showTotalPercentage to false)
trackColor: Colors.white, // to change color of track
progressBarWidth: 52.0, // to change width of progressBar
trackWidth: 52.0, // to change width of track
labelTextStyle: TextStyle(), // to change TextStyle of label
percentageTextStyle: TextStyle(), // to change TextStyle of percentage
);
MultiCircularSlider parameters #
Parameter | DataType | Default Value | Description |
---|---|---|---|
size | Size | the space widget should take up on screen | |
values | List | pass different percentages you want to show which sum up to 1.0 or less | |
colors | List | different colors which you want to give to the progress bars (NOTE: length of values & colors should be same) |
|
progressBarType | MultiCircularSliderType | to specify the type of progress indicator you want | |
showTotalPercentage | bool | true | whether to show total percentage in center or not |
label | String | any label text which you want to show below total percentage | |
animationDuration | Duration | Duration(milliseconds: 500) | the duration you want for the animation |
animationCurve | Curve | Curves.easeInOutCubic | the curve you want for animation |
innerIcon | Widget | the icon which you can display above the total percentage text | |
innerWidget | Widget | the widget you want to show inside the circular progress bar (NOTE : innerWidget will only de displayed if showTotalPercentage is false) | |
trackColor | Color | Colors.grey | color of the track of progressBar |
progressBarWidth | double | 32.0 | stroke width of the progressBar |
trackWidth | double | 32.0 | stroke width of the progressBar track |
labelTextStyle | TextStyle | TextStyle which you want to give to label | |
percentageTextStyle | TextStyle | TextStyle which you want to give to percentage |