Hola, Amigos! На связи Вова Зевеке, соавтор Flutter.Много. Сегодня расскажу, как можно сделать запуск приложения с анимированным логотипом.
В основном файле main.dart устанавливаем SplashPage в качестве домашней страницы, чтобы приложение стартовало с анимированного логотипа.
void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( useMaterial3: true, ), home: const SplashPag
Далее создаем SplashPage с использованием TickerProviderStateMixin для управления анимациями. Инициализируем анимации в методе initState().
Future<void> playAnimation() async { await Future.delayed(const Duration(milliseconds: 1000)); for (int i = 0; i < controllerColorOpacityList.length; i++) { await controllerColorOpacityList[i].animateTo(1); } if (mounted) { Navigator.of(context).pushReplacement(_createRoute()
И, наконец, реализуем анимированный переход между SplashPage и MainBottomNavigationBar с использованием PageRouteBuilder.
Route _createRoute() { return PageRouteBuilder( transitionDuration: const Duration(milliseconds: 700), pageBuilder: (context, animation, secondaryAnimation) => const MainBottomNavigationBar(), transitionsBuilder: (context, animation, secondaryAnimation, child) { const Offset begin = Offset(0.0, 1.0); const Offset end = Offset.zero; final T
Ссылка github на код :)
