Flutter
final friends = [ 'Mary', 'Brad' ]; // 方法その1 final all1 = [ 'Bob', 'Tom', ] + friends; print(all1); // output // [Bob, Tom, Mary, Brad] // 方法その2 final all2 = [ 'Bob', 'Tom', ...friends ]; print(all2); // output // [Bob, Tom, Mary, …
while 指定した条件がtrueの場合に処理をする 1回も実行されないことがある var i = 1; while (i <= 5) { print('x' * i); i++; } print('Done'); // output // x // xx // xxx // xxxx // xxxxx // Done for 指定した条件がtrueの場合に処理をする 1回も実…
var 型推測できる 型指定できない 変更可能(1回以上値をセットできる) // var // 型推測できる var name = 'Bob'; // 値が文字列なのでString型と推測される // 型指定できない // var String lastName = 'Pit'; // コンパイルエラー // 変更可能(1回以上…
文字列の検索・置換 // 元の文字列 String greeting = 'My name is Bob.'; // Bobを含むか bool isBob = greeting.contains('Bob'); // Tomを含むか bool isTom = greeting.contains('Tom'); print(greeting); print(isBob); print(isTom); // output // My …
// 文字列 String title = 'Dart course'; // 文字列を小文字に変換 String lowerCaseTitle = title.toLowerCase(); // 文字列を大文字に変換 String upperCaseTitle = title.toUpperCase(); print(lowerCaseTitle); print(upperCaseTitle); // output // da…
下記のような長い文字列で改行を入れたい場合にどうするか? print('My name is Bob.I am 18 years old.'); // output // My name is Bob.I am 18 years old. 改行する場合は改行位置に\nを入れる print('My name is Bob.\nI am 18 years old.'); // output …
シングルクォーテーションでくくっている文字列内にシングルクォーテーションがあった場合にはエラーとなります。これはひとつの例であり、特殊文字が含まれる場合は対応が必要となります。 print('I'm Bob'); // output // Error: String starting with ' m…
String interpolation(変数の文字列展開) 変数を文字列に展開 String name = 'Bob'; print('My name is $name'); // output // My name is Bob 変数をくくる 変数の後に続けてアルファベットを入力するとエラーとなる String name = 'Bob'; print('My name i…
はじめに パッケージ導入する時にはpubspec.yamlのdependencyに追記します。 pub.devから取得する以外にも方法があります。 その方法をメモしておきます。 pub.devからパッケージ取得 gitのリポジトリからパッケージ取得 ローカルからパッケージ取得 例 rive…
はじめに アプリをリリースしようとするときに必要になります。 個人的にはリリース前でもアイコンを設定しておくとモチベーションがあがります。 手順 アイコン画像(1024px)は既にある前提です。 用意してあるアイコン画像をプロジェクト配下のフォルダに保…
はじめに 画面遷移でgo_routerを使っていて、initialLocationを設定しても効いていないことがあった。 原因はMaterialApp.routerの引数にrouteInformationProviderをセットし忘れていたからだった。 原因を調べていたときにFlutter公式では下記のようにroute…
はじめに セグメントボタンの使い道としては 複数の選択肢から選択し、 ビューを切り替える ソート順を切り替える など、が挙げられます。 SegmentedButtonクラス # コンストラクタ SegmentedButton({ Key? key, required List<ButtonSegment<T>> segments, required Set<T> sele</t></buttonsegment<t>…
はじめに 実機で動かすとモチベーションがあがるタイプです。 ときどきケーブルが無くて、仕方なくシミュレータでデバッグしてました。 Flutter3.10.0でWifi経由で実機にアプリ転送し、デバッグできるようになったようです。 iOSのWireless debugging設定 Fl…
はじめに Google I/O 2023でDart3のリリースが報告されました。 Dart3でClass Modifierが追加されたので試してみました。 (Class Modifierとは、抽象Classの頭につけているabstractなどです) interfaceクラス // vehicle.dart interface class Vehicle { v…
はじめに Flutter 3.7になり、Badge(バッヂ)のWidgetが追加されました。 それまでは独自で作ったり、サードパーティパッケージで実装してました。 クラス定義 クラス定義は下記のようになっています。 Badgeに表示する内容はlabel引数にWidgetで指定するよう…
はじめに ToDOなどをカテゴリに分類することがあります。 カテゴリは名前だけでなく、色を指定することで、一目でどのカテゴリであるかわかりやすくしたいです。 色を指定するカラーピッカー機能を作るために自作でウィジェットを作ることを考えましたが手間…
はじめに データの保存/修正/削除などの処理の成功・失敗をユーザーに表示する。 SnackBarを使うのはその方法のひとつ。 SnackBarとは下記画像のような画面下でメッセージを表示するものです。 Scaffoldの中でSnackBarを表示することができます。 実装方法は…
はじめに 入力フォーム画面で使われることが多い選択メニューの実装方法です。 DropdownButtonとDropdownButtonFormFieldを使う2つの方法があります。 違いは表示を見ればわかると思いますが、DropdownButtonFormFieldはTextFieldのような表示がされます。 …
やりたいこと GridViewに4つのバナー画像を画面幅いっぱいに2行2列で表示したい。 下記画像のような想定です。 プレースホルダーのバナー画像は下記のサイトを使って取得しています。 Placeholder.com: Placeholder.com – The Free Image Placeholder Servic…