Flutter

Visual Studio CodeでDartのクラス名を変更したときにファイル名も同時に変更されるように設定する

VSCodeでDartのクラス名を変更するときは、たいていファイル名も変更することになる。これを半自動的・自動的に行えるように設定することができる。 VSCodeの設定で"dart.renameFilesWithClasses"を"prompt"か"always"に設定すると、VSCodeのリネーム機能でクラス名を変更したときにファイル名も自動的に変更されるようになる。 変更前のクラス名とファイル名が対応している場合に適用されるので、たとえばファイル内のプライベートクラス名を変更するときには適用されないので、意図しない変更は発生しないはず。

FlutterのTextFieldにクリアボタンをつける

FlutterのTextFieldにはクリアボタンの直接的な設定項目は存在しません。そのためInputDecorationのsuffixIconで設定することになります。 TextField( controller: _controller, // _controllerはTextEditingController decoration: InputDecoration( suffixIcon: IconButton( onPressed: _controller.clear, icon: const Icon(Icons.clear), ), ), )

runAppを読む

Flutterにおいてmain関数で実行されるrunApp関数の実装を読んでいきます。 参照バージョン: Flutter 2.8.0 ドキュメントコメントの確認 * 引数のウィジェットを広げて画面に貼り付ける。 * 画面全体を埋めるようにウィジェットに制約を与える。 * 片側に寄せたり中央に配置する場合はAlignやCenterウィジェットを利用する。 * runAppを2回呼ぶと前回のウィジェットを画面から切り離し、新しいウィジェットが利用される。 runAppの実装 void runApp(Widget app) { WidgetsFlutterBinding.ensureInitialized() ..scheduleAttachRootWidget(app) ..scheduleWarmUpFrame(); } WidgetsFlutterBinding.ensureInitialized static WidgetsBinding ensureInitialized() { if (WidgetsBinding.instance == null) Widget

AppBarの高さを高くしてタイトルなどを下寄せする

FlutterのAppBarのHeightを長くして戻るボタンやタイトルを下寄せする仕様が発生したので実装してみた。 Scaffold( appBar: PreferredSize( preferredSize: const Size.fromHeight(100), child: Column( children: [ const Spacer(), AppBar( title: Text('Title'), ), ], ), ), 高さを100にしてAppBarの上にSpacerを入れてAppBarを下寄せしている。