これを実現するには、名前付きルートを使用する必要があります。名前付きルートを使用すると、フラッターに特定の文字列が与えられ、新しいルートに移動したときに表示されます。名前付きルートを使用する方法については、ここで十分に文書化されていますが、何をする必要があるかの基本を含めます。
MaterialApp
ウィジェット ツリーの一番上に既に があります。ここで可能にする必要があるルートを名前付きパラメーターで定義するだけで済みます。これは、キーが の後に URL に追加されるroutes
タイプを受け入れます。Map<String, WidgetBuilder>
String
String
/#/
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
brightness: Brightness.dark,
primaryColorDark: Colors.black,
fontFamily: "GoogleSansRegular",
),
routes: {
'/': (context) => HomePage(),
'/aboutPage': (context) => AboutPage(),
}
);
String
キーを各ウィジェットの静的変数として定義することをお勧めします。HomePage.route
このようにして、次の必要な変更に役立つ のようなものとしてアクセスできます。
の代わりに をNavigator.push
使用する必要がありますNavigator.pushNamed
。これは同じアクションを実行し、String
代わりにパラメーターとしてルートを受け入れるだけです。
使用例:
Navigator.pushNamed(context, '/aboutPage');
これを使用すると、最終的に の URL になりますhttps://owleyes.codemagic.app/#/aboutPage
。