Хук Flutter useAnimationController не перестраивает виджет

Я использую пакет flutter hooks для анимации элемента на экране, но я, очевидно, сделал что-то не так, поскольку элемент не перестраивается для анимации. это код, который у меня есть.

class Ball extends HookWidget {
  @override
  Widget build(BuildContext context) {
    final xController = useAnimationController(
      duration: Duration(seconds: 3),
      lowerBound: 0,
      upperBound: 2,
      initialValue: 1,
    );

    final yController = useAnimationController(
      duration: Duration(seconds: 3),
      lowerBound: 0,
      upperBound: 2,
      initialValue: 1,
    );

    useEffect(() {
      xController.repeat(reverse: true);
      yController.repeat(reverse: true);

      return () {};
    });

    return Align(
      alignment: Alignment(
        xController.value - 1,
        yController.value - 1,
      ),
      child: Container(
        width: 12,
        height: 12,
        decoration: BoxDecoration(
          color: Colors.grey[900],
          shape: BoxShape.circle,
        ),
      ),
    );
  }
}

При визуализации этот виджет находится внутри стека. Ни во время выполнения, ни во время сборки ошибок не возникает.

1 ответ

Решение

Для тех, кто будет смотреть это в будущем, вы должны сделать это

      final xController = useAnimationController({ ... })
useAnimation(xController)
Другие вопросы по тегам