どうも、ちょげ(@chogetarou)です。
ModalBottomSheetをスクロールできるようにする方法を紹介します。
方法

ModalBottomSheetをスクロールできるようにするには、ContainerとSingleChildScrollViewを使います。
まず、ModalBottomSheetのbuilderでContainerをreturnします。
そして、ContainerのchildにSingleChildScrollViewを指定し、SingleChildScrollViewのchildにスクロールするModalBottomSheetを指定します。
showModalBottomSheet(
context: context,
builder: (context) {
return Container(
child: SingleChildScrollView(
child: /*スクロールするウェジェット*/
)
);
},
);
これでModalBottomSheetをスクロール出来ます。
以下は、使用例です。
使用例
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () {
showModalBottomSheet(
backgroundColor: Colors.transparent,
context: context,
builder: (context) {
return Container(
height: 400,
color: Colors.white,
child: SingleChildScrollView(
child: Column(
children: [
for (var i = 0; i < 20; i++)
Card(
child: ListTile(
title: Text('item $i'),
),
)
],
),
),
);
},
);
},
child: Text('Show'),
),
),
);
}

[Flutter]ModalBottomSheetをドラッグアップできるようにする方法
ModalBottomSheetをドラッグアップできるようにする方法を紹介します。

[Flutter]CupertinoのModalBottomSheetをドラッグで閉じなくするには?
CupertinoのModalBottomSheetを、ドラッグで閉じないようにする方法を紹介します。

[Flutter]ModalBottomSheetの背景色を設定するには?
ModalBottomSheetの背景色を設定する方法を紹介します。

[Flutter]ModalBottomSheetのTextFieldをキーボードで上に移動するには?
ModalBottomSheet内で使うTextFieldを、キーボードを表示したときに上に移動させる方法を紹介します。

[Flutter]画面下部からモーダルシートを表示する方法
画面の下側からモーダルのシートを表示する方法を紹介します。
コメント