Closed3
flutter_staggered_grid_viewの使い方を間違えてた件
1列で表示されるListView
(Flutter標準Widget)に対して、2列で表示するためにflutter_staggered_grid_view
を使っている。
今まで2列表示のためにStaggeredGrid
を使っていた。
Scrollbar(
child: StaggeredGrid.count(
crossAxisCount: 2,
axisDirection: AxisDirection.down,
children: List.generate(
scores.length,
(index) {
return _card(scores[index]);
},
),
),
)
しかし、これだとスクロールできない問題があることに気づいた。
pub.devにある説明を見てみると、Staggered
は少数のアイテム用であり、スクロールはできないらしい。
This layout is intended for a small number of items. I didn't find, for the moment, a performant algorithm which would work in a Sliver context, that's why this is not a GridView and therefore there are no SliverStaggeredGrid.
Grid properties
- Evenly divided in n columns
- Small number of items
- Not scrollable
https://pub.dev/packages/flutter_staggered_grid_view より
スクロールできるようにするには、Masonry
(MasonryGridView
)を使う。
This layout facilitates the browsing of uncropped peer content. Container heights are sized based on the widget size.
https://pub.dev/packages/flutter_staggered_grid_view より
Scrollbar(
child: MasonryGridView.count(
crossAxisCount: 2,
itemCount: scores.length,
itemBuilder: (context, index) {
return _card(scores[index]);
},
),
);
このスクラップは2023/03/01にクローズされました