Change Navigator.pop() animation duration with page_transition

3.1k views Asked by At

To have an animation while changing screens I am using the page_transition: ^1.1.5

Here is an example:

Navigator.push(context, PageTransition(type: PageTransitionType.rightToLeft, child: HandymanDocumentsOverview(), duration: Duration(milliseconds: 150)));

Yesterday I installed firebase_core: ^0.5.0 and updated all other Firebase dependencies. And somehow it just feels like the animation speed for Navigator.pop(context); is way slower than before and doesn't even match the first animations speed. Does anyone know how to fix that?

Edit here is my 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

There are 3 answers

0
laaasBIGL On

UPDATE: Should be no longer an issue with version 1.1.7+3.

0
Rohan Kadkol On

Here's one way of specifying the forward and reverse durations:

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,
      );
    },
  ),
);
0
Pieter van Loon On

The package you are using is not yet updated to set the reverseTransitionDuration which was added to flutter recently. You can upvote this issue to bring attention to it.