buildLoader method

  1. @override
Widget buildLoader(
  1. BuildContext context,
  2. AnimationController controller
)
override

Implementation

@override
Widget buildLoader(BuildContext context, AnimationController controller) {
  return Row(
    mainAxisSize: MainAxisSize.min,
    mainAxisAlignment: MainAxisAlignment.center,
    children: List.generate(dotCount, (index) {
      return AnimatedBuilder(
        animation: controller,
        builder: (_, __) {
          double opacity = ((controller.value + index * 0.3) % 1.0);
          double scale = scaleAnimation ? 0.5 + 0.5 * opacity : 1.0;
          return Opacity(
            opacity: opacity,
            child: Transform.scale(
              scale: scale,
              child: Container(
                width: size * dotSizeRatio,
                height: size * dotSizeRatio,
                margin: EdgeInsets.symmetric(horizontal: size * spacingRatio),
                decoration: BoxDecoration(
                  color: color ?? Colors.blue,
                  shape: BoxShape.circle,
                ),
              ),
            ),
          );
        },
      );
    }),
  );
}