Skip to content

FadeForwardsPageTransitionsBuilder's duration is too slow #173252

@justinmc

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)

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 Flutterf: material designflutter/packages/flutter/material repository.frameworkflutter/packages/flutter repository. See also f: 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