2026-07-07 flutterdart Flutter 3.44: MediaQuery から画面の物理的な角の半径を読み取る Flutter 3.44 は MediaQuery.displayCornerRadiiOf を通じてデバイスの丸い角を公開します。魔法の半径を当て推量するのはやめて、Android API 31+ でハードウェアの正確なカーブに UI をクリップしましょう。
2026-07-07 flutterdartgo-router Flutter における go_router vs auto_route vs Navigator 2.0 go_router と auto_route はどちらも Navigator 2.0 の上に載っています。そのため本当の選択は、宣言的な URL ルーティング vs コード生成による型付きルート vs Router API を自前で書くことのどれを選ぶかです。それぞれの設定例を添えた意思決定マトリクスと、生の Navigator が今でも勝る場面を解説します。
2026-07-07 comparisonflutterdart Flutter の長いリストにおける shrinkWrap vs Expanded vs sliver: どれを選ぶべきか 長いリストでは shrinkWrap を絶対に使わないでください。リストが唯一のスクロール要素なら Expanded を、他のセクションとスクロールを共有するなら sliver(CustomScrollView)を使います。その理由を、build 回数のベンチマークとともに解説します。
2026-07-06 errorsflutterdart 解決策: Riverpod 3.0 が元のエラーではなく ProviderException をスローする Riverpod 3.0 はプロバイダーの読み取り中にスローされたエラーを ProviderException でラップします。その型をキャッチして e.exception を読めば元のエラーを取り戻せます。あるいは、ラップされない AsyncValue.error を使いましょう。
2026-07-05 dartflutter Dart 3.12 の dot shorthands: Flutter コードから型名を省く dot shorthands は Dart 3.12.2 で安定版になりました。.center や .new と書けば、コンパイラーがコンテキストから型を推論します。enum、静的メンバー、コンストラクターでの動作を解説します。
2026-07-05 errorsflutterdart 解決策: Flutter の Container で Cannot provide both a color and a decoration 色を decoration の中に移動します。color と decoration を同じ Container に渡すのではなく、decoration: BoxDecoration(color: ...) を使います。
2026-07-05 errorsflutterdart 修正: Incorrect use of ParentDataWidget. Expanded widgets must be placed inside Flex widgets (Flutter) このエラーは、Expanded または Flexible が Row、Column、Flex の直接の子でないことを意味します。flex ウィジェットの直下に移動するか、親が flex でないなら Expanded を外してください。
2026-07-05 errorsflutterdart 修正: A RenderViewport expected a child of type RenderSliver but received a child of type RenderBox (Flutter の CustomScrollView) CustomScrollView の slivers リストは sliver しか受け付けません。box ウィジェットは SliverToBoxAdapter でラップするか、ListView/Padding/Column を SliverList や SliverPadding に置き換えてください。
2026-07-04 flutterdartriverpod Flutter Riverpod 3 で非同期ギャップの後に Ref.mounted を確認する方法 Notifier では await の前に依存関係を解決し、その後 if (!ref.mounted) return で state の書き込みを保護します。これは Riverpod 3.0 における古い onDispose ミックスインの代替であり、provider が await の途中で破棄されたときの UnmountedRefException を防ぎます。flutter_riverpod 3.x、Flutter 3.44、Dart 3.x で検証済みです。
2026-07-02 flutterdartlayout Flutter で ListView と GridView を sliver で 1 つのスクロールビューにまとめる方法 ネストしたスクロール可能ウィジェットを使わずに、リストとグリッドを 1 つの連続したスクロールにまとめます。CustomScrollView と SliverList、SliverGrid を使い、パフォーマンスを静かに殺す shrinkWrap の罠を回避します。