📱
【Flutter】Scrollableな領域と固定footerの構造
動作環境
Flutter 2.10.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 5464c5bac7 (5 weeks ago) • 2022-04-18 09:55:37 -0700
Engine • revision 57d3bac3dd
Tools • Dart 2.16.2 • DevTools 2.9.2
固定Footer
footer
の位置を固定して、それ以外の要素は必要あればスクロールできるUIの実装が必要そうだったので実装しようとしたら、意外に悩んでしまったので備忘録がてら記載。
sample.dart
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('fixed footer'),
),
body: SafeArea(
child: Column(
children: [
Expanded(
child: SingleChildScrollView(
child: Column(
children: [
_buildHeader(),
_buildBody(),
],
),
),
),
_buildFooter(context),
],
),
),
);
}
書いてみるとシンプルな話で、footer
意外のスクロールさせる領域は、Expanded > SingleChildScrollView
の下に書いてやれば良い。
header
も固定したいなら、body
部分のみSingleChildScrollViewの下に書いてやれば良い。
page
とmodal
のコードの全容は、🔗から飛べる
page 🔗 | modal 🔗 |
---|---|
![]() |
![]() |
Discussion