Flutterアプリは多くの画面サイズ(スマートフォン、タブレット、Web、デスクトップ)で動作するため、レスポンシブ(サイズに適応する)かつ アダプティブ(プラットフォームに適応する)なUIを構築することは重要です。Flutterはこのために MediaQuery、LayoutBuilder、そしてフレキシブルなウィジェットといったツールを提供しています。
レスポンシブ:画面サイズへの適応
// MediaQuery — get screen dimensions and adapt
final width = MediaQuery.of(context).size.width;
if (width > 600) {
// tablet/desktop layout (e.g. side-by-side)
} else {
// phone layout (e.g. stacked)
}
// LayoutBuilder — adapt based on the available space (parent constraints)
LayoutBuilder(builder: (context, constraints) {
if (constraints.maxWidth > 600) return WideLayout();
return NarrowLayout();
})
