flutter - 如何删除网格视图生成的空白
问题描述
我想为我的颤振应用应用分类选择。我是颤振的初学者。我已经尽力到达这里,但我不知道如何删除这些空白。
在 homescreen.dart 的正文中,我编写了以下代码。
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: KDefaultPadding),
child: GridView.builder(
itemCount: products.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
childAspectRatio: 0.75,
mainAxisSpacing: KDefaultPadding,
crossAxisSpacing: KDefaultPadding,
),
itemBuilder: (context, index) => ItemCard(
product:
products[index].tag == "chicken" ? products[index] : null,
press: () => Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DetailScreen(
product: products[index],
),
),
),
),
),
),
),
在项目 card.dart 中我写了以下内容。
class ItemCard extends StatelessWidget {
final Product product;
final Function press;
const ItemCard({
Key key,
this.product,
this.press,
}) : super(key: key);
@override
Widget build(BuildContext context) {
if (product != null) {
return GestureDetector(
onTap: press,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
padding: EdgeInsets.all(KDefaultPadding),
// height: 180,
// width: 160,
decoration: BoxDecoration(
color: product.color,
borderRadius: BorderRadius.circular(16),
),
child: Hero(
tag: "${product.id}",
child: Image.asset(
product.image,
)),
),
Padding(
padding:
const EdgeInsets.symmetric(vertical: KDefaultPadding / 4),
child: Text(
product.title,
style:
TextStyle(color: kTextColor, fontWeight: FontWeight.bold),
),
),
Text(
"$kCurrency${product.price}",
style: TextStyle(
color: kTextLightColor, fontWeight: FontWeight.bold),
)
],
),
);
} else {
return Container();
}
}
}
我得到的输出是这样的。
有人可以帮帮我吗?
解决方案
将此更改products.length
为products.where((product) => product.tag == 'chicken').length
不要将意外产品放入 GridView。
推荐阅读
- powerbi - Power BI 报表数据存储概念
- java - 如何使用动态跨度计数设置android交错水平回收器视图
- sql - 带有时间戳宏的月份的第一天和最后一天
- c - 在 C 中不使用 strtok() 拆分字符串
- powershell - powershell:管道获取内容到带有参数的ps1文件
- api - 模拟后端假 API 服务器的最佳实践或工具?
- regex - 替换ini文件中的块文本
- javascript - 如何在 tsx 中分配参数?
- apache-spark - 来自 DynamoDB Json 的 Spark 取消嵌套嵌套模式
- html - 网站未在本地使用导入的 Google 字体,但在 codepen 中工作