Флаттер: FadeTransition останавливается при восстановлении / горячей перезагрузке - PullRequest
0 голосов
/ 21 марта 2019

Что-то я не могу понять об анимации во флаттере.Когда я запускаю приведенный ниже код, я вижу, что красный экран постепенно исчезает, как и ожидалось.Однако, если я перезагружаюсь в середине перехода, иногда кажется, что он останавливается, а иногда нет.Я пробую несколько раз, в конце концов это остановится.Почему это происходит?

import "package:flutter/material.dart";

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: FadingLoop(),
    );
  }
}

class FadingLoop extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return FadingLoopState();
  }
}

class FadingLoopState extends State<FadingLoop> with SingleTickerProviderStateMixin {
  AnimationController _controller;
  Animation _animation;

  @override
  void initState() {
    super.initState();

    _controller = AnimationController(
      vsync: this,
      duration: Duration(milliseconds: 1000),
    );
    _animation = Tween(begin: 0.0, end: 1.0).animate(_controller);

    _controller.repeat();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: FadeTransition(
        opacity: _animation,
        child: Container(
          color: Colors.red,
        ),
      ),
    );
  }

  @override
  void dispose() {
    _controller.dispose();

    super.dispose();
  }
}
...