Вы пробовали использовать будущее?
double opacity = 0;
Future < void > showAfter() async {
await Future.delayed(Duration(seconds: 3), () {
print('delay completed');
});
setState(() {
opacity = 1;
});
}
Подсчитайте количество времени анимации героя и установите задержку длительности.
вызов функции внутри initState ()
Затем вы можете обернуть ваш виджет в виджет AnimatedOpacity следующим образом, пока время задержки не будет, все будет там, они просто будут скрыты, и как только он закончится, он будет выглядеть как затухание.
AnimatedOpacity(
duration: Duration(milliseconds: 300),
opacity: opacity,
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: < Widget > [
Text("Hello World"),
],
),
),
),
Вы можете разные кривые и длительности