build method

  1. @override
Widget build(
  1. BuildContext context,
  2. SwiperPluginConfig? config
)
override

Implementation

@override
Widget build(BuildContext context, SwiperPluginConfig? config) {
  final themeData = Theme.of(context);

  final color = this.color ?? themeData.primaryColor;
  final disableColor = this.disableColor ?? themeData.disabledColor;
  var prevColor;
  var nextColor;

  if (config!.loop!) {
    prevColor = nextColor = color;
  } else {
    final next = config.activeIndex! < config.itemCount! - 1;
    final prev = config.activeIndex! > 0;
    prevColor = prev ? color : disableColor;
    nextColor = next ? color : disableColor;
  }

  Widget child;
  if (config.scrollDirection == Axis.horizontal) {
    child = Row(
      key: key,
      mainAxisAlignment: MainAxisAlignment.spaceBetween,
      children: <Widget>[
        buildButton(config, prevColor, iconPrevious, 0, true),
        buildButton(config, nextColor, iconNext, 0, false)
      ],
    );
  } else {
    child = Column(
      key: key,
      mainAxisAlignment: MainAxisAlignment.spaceBetween,
      children: <Widget>[
        buildButton(config, prevColor, iconPrevious, -3, true),
        buildButton(config, nextColor, iconNext, -3, false)
      ],
    );
  }

  return Container(
    height: double.infinity,
    width: double.infinity,
    child: child,
  );
}