グダグダプログラマーがFlutterでアプリを作る ④画面遷移

チュートリアルを作って、30%くらい理解できた。

なので、作り始めようと思います。(完全に理解するのを諦めました)

と、その前に画面設計とか色々やるんだけど、もう少し試したいことがあります。

アプリ作りの技術で必要な画面遷移のやり方!やっぱ、これ覚えておかないと1つの画面しかできない。

なんか調べたら、以下のようなものが出てきた!(感謝)

ルート設定などをしなければならないらしい

自分の場合、以下のようにルートページで設定できる(コード貼り付けると見難いな、なんかいいのないですかね?)

class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'タイトル入れてね!',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
routes: <String, WidgetBuilder> {
'/home': (BuildContext context) => new MyHomePage(),
'/subpage': (BuildContext context) => new SubPage()
},
);
}
}

んで、使う場合は、ボタンのアクションなどで以下を呼び出す

onPressed: () => Navigator.of(context).pushNamed("/subpage"),

調べてみると、画面遷移先で戻れるやり方と戻れないやり方があるらしい、上は戻るやり方

下は戻れないやり方

onPressed: () => Navigator.of(context).pushReplacementNamed("/subpage"), 

なるほど、んでも、ルート設定めんどくね?ってなって、しかも画面遷移間で、値が渡せないらしい。なので別方法を調べていくと以下を発見(激感謝)

これだと、最初のルート設定がいらない。しかも値が渡せる!!!!

ちなみに以下のような感じ

onPressed: (){Navigator.push(context, new MaterialPageRoute<Null>(
settings: const RouteSettings(name: "/Sub"),
builder: (BuildContext context) => new SubPage()
));},

これいいな。階層深くなったら、

(name: "/Sub/Sub2")とかにすればいいのかな?(わからん)

よし、これで準備は完了!

あ、まだダメだ。今回はFirebaseを使いたいので、Flutterに入れる方法を調べて入れてみます!

次回:FirebaseをFlutterに入れるで!

見てくれてありがとうございます。