FlutterのキーボードオーバーフローはScrollView+ConstrainedBoxで吸収する
Flutter
UI
BottomSheetやSpacerを使うオンボーディング画面で、IME(キーボード)出現時に縦スペース不足で黄黒のオーバーフローシマシマが出る。BottomSheetは Flexible(SingleChildScrollView(...)) + ConstrainedBox(maxHeight: (画面高-キーボード)*0.9) で上限とスクロールを与える。Spacer入りの画面は LayoutBuilder → SingleChildScrollView → ConstrainedBox(minHeight: maxH-x) → IntrinsicHeight → Column の構造にすると、通常時はSpacerが効き、IME時は不足分をスクロールで吸収できる。BottomSheet側と個別child側の二重スクロールに注意。