【发布时间】:2020-04-07 02:45:15
【问题描述】:
我有以下代码sn-p,
GridTile(
child: Card(
elevation: 5,
child: Image.network(imageUrl, fit: BoxFit.scaleDown,),
),
),
);
产生以下输出..
但是当我像这样在我的卡片中添加列时......
GridTile(
child: Card(
elevation: 5,
child: Column(
children: <Widget>[
Image.network(imageUrl, fit: BoxFit.scaleDown,),
],
),
),
);
我在这里缺少什么。我需要处理有关 Column 的任何重要布局细节。我需要列,以便我可以在图像下方添加收藏按钮和产品描述。在父小部件下方查找以供参考。
return Scaffold(
appBar: AppBar(
title: Text('Shopify'),
),
body: GridView.builder(
itemBuilder: (context, index) => ProductItem(dummyProducts[index].title, dummyProducts[index].imageUrl),
itemCount: dummyProducts.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
childAspectRatio: 3 / 2,
crossAxisSpacing: 10,
mainAxisSpacing: 10
),
),
);
【问题讨论】:
-
请调整gridDelegate,尝试更改:childAspectRatio: 1 看看发生了什么。
-
childAspectRatio 为 1.5 太大。正如你所说,我将 childAspectRatio 保持为 1 稍微好一点。我仍然面临溢出问题。然后我用纵横比包裹我的图像就成功了。