-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Introduce AnimationStyle
#137945
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce AnimationStyle
#137945
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
AnimationOverride
|
@hans I think just I also included an example Screen.Recording.2023-11-08.at.15.54.37.movI can see some widgets see have Do we add |
|
I think just having duration and reverseDuration is enough. Adding a transitionDuration parameter would make the AnimationOverrides class a little confusing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A request that comes up now and then is for a way to prevent an animation from happening at all. Perhaps we should provide a constant like AnimationOverride.noAnimation that has the durations set to zero. This feature would be useful to include here, since that's sometimes what developers want to do to the theme animation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great idea!
|
@HansMuller appreciate the review! |
AnimationOverrideAnimationOverride
|
Added the suggestions and updated PR description |
|
Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change). If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review. For more guidance, visit Writing a golden file test for Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. Changes reported for pull request #137945 at sha f13e53449485c7e23b088372b763a3dff7cf2024 |
|
Some unexpected and unrelated widget goldens are detected for some reason. cc: @Piinks |
|
We already have TextStyle, MenuStyle, ButtonStyle, all classes that are just bundles of properties that modify the appearance of a class. Maybe we should call this class |
|
Resolved conflict from another PR just landed today and rename class to |
HansMuller
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking good. Only significant comment is about actually eliminating the animation widgets for AnimationStyle.noAnimation
Updated the code for |
HansMuller
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This appears to be just about complete. Just a little feedback about Theme and AnimatedTheme
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment needs to be updated since the AnimatedTheme is no longer "above" and because the AnimatedTheme is optional.
Do we even need the extra build if the AnimatedTheme isn't used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Woah... good catch I thought i did remove AnimatedTheme.
HansMuller
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This reverts commit 19e284f.
|
@TahaTesser - I had to revert this (#138628) due to an internal name collision. When we reland this, we should include copyWith, hashCode methods, and the changes from #138619 |
Reverts #137945 Initiated by: HansMuller This change reverts the following previous change: Original Description: This PR introduces `AnimationStyle`, it is used to override default animation curves and durations in several widgets. fixes [Add the ability to customize MaterialApp theme animation duration](#78372) fixes [Allow customization of showMenu transition animation curves and duration](#135638) Here is an example where popup menu curve and transition duration is overriden: ```dart popUpAnimationStyle: AnimationStyle( curve: Easing.emphasizedAccelerate, duration: Durations.medium4, ), ``` Set `AnimationStyle.noAnimation` to disable animation. ```dart return MaterialApp( themeAnimationStyle: AnimationStyle.noAnimation, ```
This comment was marked as resolved.
This comment was marked as resolved.
flutter/flutter@53a57ad...6cf9ab0 2023-11-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from 53c4fde7732b to d7af5fb60b4c (2 revisions) (flutter/flutter#138668) 2023-11-18 ryjohn@google.com Update release.yml (flutter/flutter#138561) 2023-11-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from 384f75061257 to 53c4fde7732b (2 revisions) (flutter/flutter#138660) 2023-11-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from 5f40c9f49f88 to 384f75061257 (2 revisions) (flutter/flutter#138658) 2023-11-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from 66f764a16610 to 5f40c9f49f88 (1 revision) (flutter/flutter#138655) 2023-11-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1d2ee544c5e5 to 66f764a16610 (1 revision) (flutter/flutter#138652) 2023-11-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from c38272b5e036 to 1d2ee544c5e5 (3 revisions) (flutter/flutter#138650) 2023-11-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from e010f17eeb10 to c38272b5e036 (4 revisions) (flutter/flutter#138647) 2023-11-17 parlough@gmail.com Update links and surrounding text for new `main-api` docs (flutter/flutter#138602) 2023-11-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 141a01c5c70b to e010f17eeb10 (2 revisions) (flutter/flutter#138643) 2023-11-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 90c3ada3682c to 141a01c5c70b (16 revisions) (flutter/flutter#138637) 2023-11-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from 5064aeff00de to 90c3ada3682c (9 revisions) (flutter/flutter#138599) 2023-11-17 linxunfeng@yeah.net Fix NoSplash not being disposed (flutter/flutter#138542) 2023-11-17 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Introduce `AnimationStyle`" (flutter/flutter#138628) 2023-11-17 victoreronmosele@gmail.com Enable `flutter screenshot` outside Flutter project directory (flutter/flutter#138160) 2023-11-17 engine-flutter-autoroll@skia.org Roll Flutter Engine from aae07e989b0a to 5064aeff00de (2 revisions) (flutter/flutter#138585) 2023-11-16 47866232+chunhtai@users.noreply.github.com Improves output file path logic in Android analyze (flutter/flutter#136981) 2023-11-16 polinach@google.com Turn off leak tracker in master to make found leaks not blocking. (flutter/flutter#138567) 2023-11-16 engine-flutter-autoroll@skia.org Roll Flutter Engine from 094a3383a406 to aae07e989b0a (2 revisions) (flutter/flutter#138574) 2023-11-16 jason-simmons@users.noreply.github.com Enable the silent flag for invalid string exceptions when building a TextSpan (flutter/flutter#138564) 2023-11-16 engine-flutter-autoroll@skia.org Roll Flutter Engine from 22baa83db63b to 094a3383a406 (13 revisions) (flutter/flutter#138568) 2023-11-16 arpitgandhi9@users.noreply.github.com #60704: Pass cert for TLS localhost connection (flutter/flutter#106635) 2023-11-16 lsaudon@gmail.com Bump cupertino_icons to 1.0.6 (flutter/flutter#136962) 2023-11-16 72284940+feduke-nukem@users.noreply.github.com Fix sliver persistent header expand animation (flutter/flutter#137913) 2023-11-16 ian@hixie.ch Reduce animations further when --no-cli-animations is set. (flutter/flutter#133598) 2023-11-16 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0c57a50810e8 to 22baa83db63b (4 revisions) (flutter/flutter#138560) 2023-11-16 tessertaha@gmail.com Introduce `AnimationStyle` (flutter/flutter#137945) 2023-11-16 dnfield@google.com Just use string interpolation for ws url for tests (flutter/flutter#138235) 2023-11-16 104349824+huycozy@users.noreply.github.com Adding new packages to the first-party package issue template (flutter/flutter#138540) 2023-11-16 engine-flutter-autoroll@skia.org Roll Packages from 0cd2378 to 07b4b29 (3 revisions) (flutter/flutter#138549) 2023-11-16 engine-flutter-autoroll@skia.org Roll Flutter Engine from 2e9f0df868b3 to 0c57a50810e8 (1 revision) (flutter/flutter#138546) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC rmistry@google.com,stuartmorgan@google.com,ychris@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
This PR introduces
AnimationStyle, it is used to override default animation curves and durations in several widgets.fixes Add the ability to customize MaterialApp theme animation duration
fixes Allow customization of showMenu transition animation curves and duration
Here is an example where popup menu curve and transition duration is overriden:
Set
AnimationStyle.noAnimationto disable animation.Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.