FadeForwardsPageTransitionsBuilder's duration is too slow
- Dominant language
- Dart
- Stars
- 179k
- Forks
- 31.1k
- PR merge metrics
- PR metrics pending
Description
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 https://github.com/flutter/flutter/pull/165832).
3. Shorten the duration.
For now, I support number three.
As seen in https://github.com/flutter/flutter/pull/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](https://main-api.flutter.dev/flutter/flutter_test/TransitionDurationObserver-class.html) to help with this.
In order to avoid multiple breakages, we should update this transition duration now as a part of https://github.com/flutter/flutter/pull/165832, so our users are only broken once by a changing page transition duration.
Discovered in: https://github.com/flutter/flutter/pull/154718#discussion_r2089812016
Contributor guide
Assessment
This issue has not been assessed yet.