Sitelet https://github.com/flutter/flutter/issues/173252
Skip to content

FadeForwardsPageTransitionsBuilder's duration is too slow #173252

Description

@justinmc

The Fade Forwards transition appears slower than native.

Native Android Settings Flutter

However, the duration that we use is exactly correct according to the Android source code (800ms).

https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/page_transitions_theme.dart#L761

What's different is that native Android is using Material 3 Expressive springs, and Flutter is not. Even using a very long-tailed curve, Flutter seems way too slow.

Flutter's options are:

  1. Wait for a first party Flutter implementation of springs (I'm not sure if/when Flutter will have a spring implementation that could help here).
  2. Deal with the transition feeling slow (very soon it will be the default transition and lots of users will see it Predictive back route transitions by default #165832).
  3. Shorten the duration.

For now, I support number three.

As seen in #165832, it is quite painful to change the default page transition duration in Flutter. There were several customer test failures and Google test failures because of this. I even created TransitionDurationObserver to help with this.

In order to avoid multiple breakages, we should update this transition duration now as a part of #165832, so our users are only broken once by a changing page transition duration.

Discovered in: #154718 (comment)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: animationAnimation APIsa: fidelityMatching the OEM platforms betterc: proposalA detailed proposal for a change to Flutterp: material_uimaterial_ui package in flutter/packagespackageflutter/packages repository. See also p: labels.platform-androidAndroid applications specificallyteam-designOwned by Design Languages teamtriaged-designTriaged by Design Languages team

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions