グダグダプログラマーが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に入れるで!
見てくれてありがとうございます。