I have set up some routes with go_router inside a LayoutBuilder
. This is so I can resize my app on desktop and change the UI depending on the space available.
Here's a simplified view of my app:
class App extends StatelessWidget {
const App({super.key});
@override
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
return Scaffold(
body: Routes(),
),
},
);
}
}
Then here are my routes:
class Routes extends StatelessWidget {
Routes({super.key});
final GoRouter router = GoRouter(
navigatorKey: navigatorKey,
initialLocation: '/',
routes: [
GoRoute(
path: '/',
builder: (BuildContext context, GoRouterState state) {
return Scaffold(
body: const Master(),
);
},
),
],
);
@override
Widget build(BuildContext context) {
return MaterialApp.router(
routerConfig: router,
);
}
}
The problem I'm having is that there is an initial animation for the router. When you hot restart or resize the window and trigger the LayoutBuilder
, it rebuilds the Routes
widget. This is fine, but the initial animation gets triggered multiple times and looks jarring. Here's a screen recording to show what I mean.
How do I disable this initial go_router
animation so the app stays still while the window is being resized?