Возможно, вы захотите узнать, как использовать этот пакет https://pub.dev/packages/flutter_staggered_grid_view
Я могу поделиться только фрагментом кода, так как я реализовал его в приложении среднего масштаба и не могу поделиться всем кодом; но это должно выглядеть примерно так:
StaggeredGridView.countBuilder(
crossAxisCount: 1,
padding: const EdgeInsets.all(8),
itemCount: pharmacyBranchSearchedProvider.pharmacyBranches.length,
itemBuilder: (context, index) {
PharmacyBranch pharmacyBranch =
pharmacyBranchSearchedProvider.pharmacyBranches[index];
return PharmacyBranchCard(
pharmacyBranch: pharmacyBranch,
onPressed: () {
Provider.of<ProductFilterProvider>(context)
.resetProductTypesWithJsonMap(
pharmacyBranch.productTypes);
PageRouter.push(
context,
PharmacyBranchProductSearchPage(
pharmacyBranch: pharmacyBranch,
));
},
);
},
staggeredTileBuilder: (int index) => StaggeredTile.fit(1),
)
Вы можете создать что-то похожее на то, на которое вы ссылались, перечисляя несколько продуктов в строке; в приведенном выше коде это crossAxisCount
, которое определяет, сколько виджетов будет отображаться в строке.