Start Debugging

タグ: dart

90 件 · ページ1/9

リポジトリ全体に dart fix を実行して Flutter の破壊的変更マイグレーションを適用する方法
dart fix が受け取るターゲットディレクトリは 1 つだけで、それはリポジトリのルートで構いません。アナライザーは入れ子になった pubspec.yaml ごとにコンテキストを開き、すべてのパッケージを 1 回で移行します。フラグの全体像、修正を黙って抑制して汚れたリポジトリに Nothing to fix と言わせる 4 つの原因、CI で終了コードが役に立たない理由、そして Flutter のトランスフォームがコンパイルできないコードを生成する実例をまとめます。
Flutter で ImageIcon が周囲の IconTheme の色でアイコンを着色するのを止める方法
ImageIcon は常に ColorFilter.mode(iconThemeColor, BlendMode.srcIn) を適用するため、多色の PNG がシルエットに潰れます。Flutter 3.47 ではこれを無効にする useOriginalColors が追加されました。color: null が効かなかった理由、useOriginalColors が黙って捨てるもの、古い SDK 向けの手書き代替を解説します。
2026-09-07 flutterdarthow-to
flutter attach 使用時に hot restart 後も appFlavor を保持する方法
flutter attach には --flavor オプションがないため、起動される常駐コンパイラーは FLUTTER_APP_FLAVOR を定義せず、最初の hot restart で appFlavor 定数が null になります。解決策は 3 つ、pubspec.yaml の default-flavor、flutter run --use-application-binary、そして flavor をネイティブから読み取るプラットフォームチャネルです。Flutter 3.47.2 / Dart 3.13.2 で検証しました。
2026-09-06 flutterdarthow-to
OTP 入力で空の Flutter TextField の Backspace 押下を検知する方法
編集が発生しないため onChanged は呼ばれず、iOS ではフィールドが空のときエンジンの deleteBackward が何も触らずに戻ります。すべてのプラットフォームで実際に動く 2 つの方法、すなわち編集を保証するゼロ幅のセンチネル文字と、描画したセルの背後に置く単一の EditableText を解説します。Flutter 3.47.2 / Dart 3.13.2 で検証しました。
Riverpod の ref.watch と ref.read の違いと、それぞれをいつ使うか
ref.watch は購読して再ビルドし、ref.read は一度読むだけで再ビルドしません。watch はすべての build メソッドの中で、read はイベントのコールバックの中だけで使います。判断マトリクス、flutter_riverpod 3.4.3 における両メソッドのソースコード、そして 4 つの静かな失敗パターン (コールバック内の watch、プロバイダー本体での read、autoDispose なプロバイダーへの read、最適化のつもりの read) を解説します。
Flutter の Web アプリを dart:html から package:web と dart:js_interop へ移行する
非推奨になった dart:html、dart:js_util、package:js から package:web 1.1.1 と dart:js_interop へ移行する手順です。問題のある import を dart2wasm コンパイラーで洗い出す方法、dart fix がリネームするものとしないもの、JSImmutableListWrapper と innerHTML の落とし穴、そして flutter build web --wasm による検証までを扱います。
Flutter の Material / Cupertino インポートを material_ui と cupertino_ui パッケージへ移行する
package:flutter/material.dart と package:flutter/cupertino.dart から material_ui 1.1.1 / cupertino_ui 1.0.2 への完全な移行手順です。dart fix --code=migrate_design_widgets が何を書き換えるのか、なぜサードパーティ製ウィジェットが祖先の探索に失敗し始めるのか、MaterialUiCompatibilityBridge が実際に何を解決するのか、そして flutter_localizations への依存がどう変わるのかを解説します。
次へ