dots_indicator 0.0.5 dots_indicator: ^0.0.5 copied to clipboard
Dots indicator to show progression of a PageView for example
dots_indicator #
Widget to display dots indicator to show a position (for a PageView for example).
Installation #
You just need to add dots_indicator
as a dependency in your pubspec.yaml file.
dependencies:
dots_indicator: ^0.0.5
Example #
In these example, pageLength
is the total of dots to display and currentIndexPage
is the position to hightlight (the active dot).
A simple dots indicator #
new DotsIndicator(
dotsCount: pageLength,
position: currentIndexPage
)
Custom colors #
new DotsIndicator(
dotsCount: pageLength,
position: currentIndexPage,
decorator: DotsDecorator(
color: Colors.black87,
activeColor: Colors.redAccent,
),
)
Custom size #
You can change the default size of dots.
So you can choose to have dots for no active positions and a rounded rectangle for active position for example.
By default, the shape of dots is CircleBorder, so to have a rounded rectangle for active, you need to change activeShape
new DotsIndicator(
dotsCount: pageLength,
position: currentIndexPage,
decorator: DotsDecorator(
size: const Size.square(9.0),
activeSize: const Size(18.0, 9.0),
activeShape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(5.0)),
),
)
Custom shape #
You can change the default shape of dots. By default it's a CircleBorder.
You can change the no active and active dot shape.
new DotsIndicator(
dotsCount: pageLength,
position: currentIndexPage,
decorator: DotsDecorator(
shape: const Border(),
activeShape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(5.0)),
),
)
Change the space between dots #
By default a dot have a margin of 6 pixels on his left and right. It's EdgeInsets.symmetric(horizontal: 6.0)
.
But if you want you can change it, for example to increase the space between dots or to add top margin.
new DotsIndicator(
dotsCount: pageLength,
position: currentIndexPage,
decorator: DotsDecorator(
spacing: const EdgeInsets.all(10.0),
),
)