

@ 酒井悠宇
k-boyの動画でflutter軽く学びます!
https://www.youtube.com/watch?v=-G7nW26N7_4&list=PLuLRJz1UnJzEDjRr1XkqyOzFzUi3Df4B0
スマホアプリ開発ができる言語。
IOSなら代表的なのはSwift。AndroidならKotlin。そしてIOSとAndroid両方を作れるflutterみたいな感じ。両方で動くプログラムはクロスプラットフォームというらしい。
flutterの特徴を簡単にまとめるとこんな感じ。
WidgetでUIを作って、dartでif文とかfor文とかのロジック系を書いていく感じ。多分。
flutterのアーキテクチャ
Widgetの状態は2種類ある

Wiget自体の種類は3種類ある
Material系はこんな感じ
Cupatino系はこんな感じ
Widget は大きく分けて以下の2通りに分けられる。
ScaffoldやTextは見た目をデザインするための画面上に実際に表示されるWidgetで、CenterやColumnは子Widgetをレイアウトをするための画面上には表示されないWidget。
Scaffold ... アプリの基本的な画面のレイアウトを構成してくれるWidget
AppBar ... ヘッダー部分を構成するWidget
Column ... 縦に複数のウィジェットを並べて配置する時に使用するWidget。mainAxisAlignmentで縦方向の位置を調整できる。
Row ... Columnとは逆に、複数の要素を横並びに配置するときに使用するWidget。
Padding ... 余白を作るWidget。paddingプロパティにEdgeInsets.all(8.0)みたいにすると要素の周りに余白ができる。
Container ... colorやheight、widthといったプロパティが用意されているWidget。Widgetを囲んで使用する。
WidgetにはそれぞれのWidget毎にプロパティが予め用意されており、色を変えたり、大きさを調整したり、更にWidgetを追加したりなどはすべてWidgetが持つプロパティに書いていく。プロパティとはWidgetがどんなものか表す情報のこと。
Scaffold(
backgroundColor: Colors.yellow,
body: Center(
child: Text(
'Welcome to KBOYs Flutter University!!',
style: TextStyle(color: Colors.blue),
),
),
);
それぞれ、
このようにプロパティに必要なWidgetを設定している。
なお、プロパティは「body」、「child」、「appBar」といったように小文字から始まり、Widgetは「Text」、「Container」といったように大文字から始まるというルールで用意されている。
https://flutter.dev/docs/cookbook/navigation/navigation-basics
公式ドキュメント参照
ページを2つ用意して、
//ページ1
class FirstRoute extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('First Route'),
),
body: Center(
child: ElevatedButton(
child: Text('Open route'),
onPressed: () {
//2つ目のページに遷移する処理
},
),
),
);
}
}
//ページ2
class SecondRoute extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Second Route"),
),
body: Center(
child: ElevatedButton(
onPressed: () {
//前のページに戻る処理
},
child: Text('Go back!'),
),
),
);
}
}
Navigator.push()を使用して2番目のルートに移動
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondRoute()),
);
}
Navigator.pop()を使用して最初のルートに戻ります
onPressed: () {
Navigator.pop(context);
}
こんな感じで簡単にページ遷移が実現できるみたいです。
flutterが雰囲気わかった気がしまーす!
ありがとうございました!