flutterを学び始めたので、学んだことをメモしていきます。
StatelessWidget
class MyHomePage extends StatelessWidget {
@override
widget build(BuildContext content) {
return MaterialApp(...);
}
}
StatelessWidgetクラスは、ステート(状態を表す値)を持たないウィジェットのベースとなるクラスです。ウィジェットのクラスは、StatelessWidgetと、ステートを持つStatefulWidgetのいずれかを継承して作成します。
StatelessWidgetクラスは、ステートのないウィジェットというだけで、表示されるデザインなどは特に扱っていません。これをreturnすることで、マテリアルデザインによるアプリが表示されます。
StatefulWidget
StatefulWidgetクラスの基本形
class MyHomePage extends StatefulWidget {
@override
State<MyHomePage> createState() => _MyHomePageState();
}
Stateクラスの基本形
class _MyHomePage extends State<MyHomePage> {
@override
widget build(BuildContext content) {
}
}
StatefulWidgetは、ウィジェット部分とステート部分の2つで構成されてます。ウィジェットクラスは、StatefulWidgetクラスを継承して定義します。このクラスには、createState
というメソッドを実装する必要があります。これはステートを作成するためのもので、ステートクラスのインスタンスを作成し、返すだけのシンプルな処理を用意します。
ステートクラスは、Stateクラスを継承して作成します。このとき、ウィジェットクラスを<>で指定しておきます。指定したウィジェットクラスで使われるステートクラスが定義できます。
build
というメソッドが用意されていて、ステートを生成する際に呼び出されるもので、ここでステートとして表示するウィジェットを生成し返します。
勉強した本