fade static method

CarouselTransitionBuilder fade({
  1. double fade = 0.5,
  2. Curve curve = Curves.easeOut,
})

Implementation

static CarouselTransitionBuilder fade({
  double fade = 0.5,
  Curve curve = Curves.easeOut,
}) {
  return (
    BuildContext context,
    Widget? child,
    int page,
    double currentPage,
    int index,
    double currentIndex,
    int itemCount,
  ) {
    final distance = page - currentPage;
    if (distance == 0.0) {
      return child ?? SizedBox();
    }

    final pageFade = (1 - distance.abs() * fade).clamp(0.0, 1.0);
    return Opacity(
      opacity: curve.transform(pageFade),
      child: child,
    );
  };
}