前提
- Flutter 2.2.0 stable
縦と横スクロールを行うには
- このWidgetを使います
- CustomScrollView
- SliverChildBuilderDelegate
注意点
- リストアイテムの高さを指定する必要があるようです。
- CustomScrollViewをSizedBoxでラップして
- 仮に
height: 50,
と指定しています
- 仮に
- CustomScrollViewをSizedBoxでラップして
こんな感じになります

作ったWidget
- 縦 50個
- 横 50個
class MultiCustomScrollView extends StatelessWidget {
const MultiCustomScrollView({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Expanded(
child: CustomScrollView(
scrollDirection: Axis.vertical,
slivers: [
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int verticalIndex) {
return SizedBox(
height: 50,
child: CustomScrollView(
scrollDirection: Axis.horizontal,
slivers: [
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int horizontalIndex) {
return SizedBox(
height: 50,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'test${(verticalIndex + 1) * (horizontalIndex + 1)}',
),
),
);
},
childCount: 50,
),
),
],
),
);
},
childCount: 50,
),
),
],
),
);
}
}
以上です。