build method

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

Implementation

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

  final color = this.color ?? themeData.primaryColor;
  final disableColor = this.disableColor ?? themeData.disabledColor;
  Color prevColor;
  Color 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: config,
          color: prevColor,
          iconDaga: iconPrevious,
          quarterTurns: 0,
          previous: true,
        ),
        buildButton(
          config: config,
          color: nextColor,
          iconDaga: iconNext,
          quarterTurns: 0,
          previous: false,
        )
      ],
    );
  } else {
    child = Column(
      key: key,
      mainAxisAlignment: MainAxisAlignment.spaceBetween,
      children: <Widget>[
        buildButton(
          config: config,
          color: prevColor,
          iconDaga: iconPrevious,
          quarterTurns: -3,
          previous: true,
        ),
        buildButton(
          config: config,
          color: nextColor,
          iconDaga: iconNext,
          quarterTurns: -3,
          previous: false,
        )
      ],
    );
  }

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