Skip to content

🐛 Disable animation don't work on NavigationPane #1231

@WinXaito

Description

@WinXaito

Describe the bug
When I use my app in a remote view (Remote desktop, Team viewer), it is sometimes complicate to use because Flutter have a lot of animations.

So I want to add a parameter to disable all animations.

I did this:

final animationDuration =
    params.value.disableAnimation ? Duration.zero : null;

final lightTheme = FluentThemeData(
  brightness: Brightness.light,
  fasterAnimationDuration: animationDuration,
  fastAnimationDuration: animationDuration,
  mediumAnimationDuration: animationDuration,
  slowAnimationDuration: animationDuration,
);

For example, Dialog don't have animation anymore. That's OK.

However, transition on navigation pane still have animation.

I suspect this https://github.com/bdlukaa/fluent_ui/blob/master/lib/src/controls/navigation/navigation_view/body.dart#L20 is never set (here: https://github.com/bdlukaa/fluent_ui/blob/master/lib/src/controls/navigation/navigation_view/view.dart#L466-L470)

I think this should also be set: https://github.com/bdlukaa/fluent_ui/blob/master/lib/src/controls/navigation/navigation_view/pane.dart#L989-L992

I don't know if all animation should depend on fastAnimationDuration, mediumAnimationDuration, etc. or if adding a paramter like disableAllAnimation in FluentTheme could be good.

Edit:

Widget that seems to work:

  • Expander (but still have a weird blinking when animation is set to zero)
  • Flyout

Seems to not work:

  • ToggleSwitch
  • ComboBox

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions