Измените продолжительность анимации Navigator.pop() с помощью page_transition
Для анимации при смене экранов я использую
page_transition: ^1.1.5
Вот пример:
Navigator.push(context, PageTransition(type: PageTransitionType.rightToLeft, child: HandymanDocumentsOverview(), duration: Duration(milliseconds: 150)));
Вчера установил
firebase_core: ^0.5.0
и обновили все остальные зависимости Firebase. И почему-то это просто похоже на скорость анимации для
Navigator.pop(context);
намного медленнее, чем раньше, и даже не соответствует скорости первой анимации. Кто-нибудь знает, как это исправить?
Редактировать вот мой
flutter doctor -v
[✓] Flutter (Channel stable, 1.22.0, on Mac OS X 10.15.4 19E287, locale de-DE)
• Flutter version 1.22.0 at /Users/bastianmeyer/flutter
• Framework revision d408d302e2 (3 days ago), 2020-09-29 11:49:17 -0700
• Engine revision 5babba6c4d
• Dart version 2.10.0
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /Users/bastianmeyer/Library/Android/sdk
• Platform android-29, build-tools 29.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 12.0)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.0, Build version 12A7209
• CocoaPods version 1.9.1
[✓] Android Studio (version 3.6)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 45.0.1
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
[✓] VS Code (version 1.49.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.15.0
[✓] Connected device (1 available)
• iPhone SE (2nd generation) (mobile) • FC1FC561-C5E6-4E13-AEE5-B5D9308C29B5 • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-0 (simulator)
3 ответа
Пакет, который вы используете, еще не обновлен, чтобы установить
reverseTransitionDuration
который недавно был добавлен во флаттер. Вы можете проголосовать за этот вопрос, чтобы привлечь к нему внимание.
Вот один из способов указать продолжительность прямого и обратного направления:
Navigator.of(context).push(
PageRouteBuilder(
transitionDuration: Duration(milliseconds: 800), // Forward Duration
reverseTransitionDuration: Duration(milliseconds: 800), // Reverse Duration
pageBuilder: (BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation) {
return NewScreen();
},
transitionsBuilder: (BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child) {
return FadeTransition(
opacity: animation,
child: child,
);
},
),
);