buildItem method

Widget buildItem(
  1. BuildContext context,
  2. int index
)

Implementation

Widget buildItem(BuildContext context, int index) {
  final screenWidth = MediaQuery.of(context).size.width;

  TextDirection textDirection = Directionality.of(context);

  double animationDirection = textDirection == TextDirection.ltr ? -1 : 1;

  final transform = Matrix4.translationValues(
    animationDirection *
        (screenWidth - _animation.value * screenWidth) *
        ((items.length - index) / 4),
    0.0,
    0.0,
  );

  return Align(
    alignment: textDirection == TextDirection.ltr
        ? Alignment.centerRight
        : Alignment.centerLeft,
    child: Transform(
      transform: transform,
      child: Opacity(
        opacity: _animation.value,
        child: BubbleMenu(items[index]),
      ),
    ),
  );
}