2
votes

Comment réaliser iOS comme une animation de transition de page fluide dans Flutter?

Je regardais l'application The History of Everything parce que j'apprends à coder des applications Flutter. Mais ensuite, j'ai remarqué que l'animation de transition de page dans l'application était bien plus fluide que ma propre application, également créée avec Flutter. Vous pouvez voir la comparaison ci-dessous:

Mon application

^ Vous pouvez le voir dans mon app, lorsque je fais un geste de balayage et que je relâche la main, il est immédiatement réinitialisé à 0 sans aucune transition.

The History of Everything

^ Vous pouvez voir que dans The History of Everything, lorsque je fais un geste de balayage et que je relâche la main, il effectue une transition en douceur vers 0. P >

J'ai vérifié leur code source sur GitHub ( https://github.com/2d-inc/ HistoryOfEverything ) et il pousse l'itinéraire de la même manière que moi, en utilisant MaterialPageRoute . Je suis déjà en train de créer mon application sur mon téléphone en utilisant le mode de lancement, donc cela ne devrait pas être lié aux performances.

Voici comment je pousse vers une nouvelle route:

[✓] Flutter (Channel stable, v1.2.1, on Mac OS X 10.14.4 18E226, locale en-HK)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[!] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
    ✗ Verify that all connected devices have been paired with this computer in
      Xcode.
      If all devices have been paired, libimobiledevice and ideviceinstaller may
      require updating.
      To update with Brew, run:
        brew update
        brew uninstall --ignore-dependencies libimobiledevice
        brew uninstall --ignore-dependencies usbmuxd
        brew install --HEAD usbmuxd
        brew unlink usbmuxd
        brew link usbmuxd
        brew install --HEAD libimobiledevice
        brew install ideviceinstaller
[✓] Android Studio (version 3.4)
[✓] VS Code (version 1.33.1)
[!] Connected device
    ! No devices available


2 commentaires

exécutez-vous également votre application en mode version?


@Rubens Melo Oui, je le construis en utilisant flutter run --release


3 Réponses :


1
votes

Après la mise à niveau vers Flutter 1.5, la transition de page est désormais la même.


0 commentaires

0
votes

Vous pouvez utiliser PageView et encapsuler votre page et son contenu en tant qu'enfant.


0 commentaires

0
votes

Si vous souhaitez avoir une transition de diapositive comme iOS , vous utilisez:

CupertinoPageRoute. 
Navigator.push(
    context, CupertinoPageRoute(builder: (context) => Screen2()))


0 commentaires