繁体   English   中英

如何在 Flutter 中实现这种卡片视图设计

[英]How can I implement this card view design in Flutter

我希望第二列卡片稍微不均匀,我怎么能做到这一点。 这是我想要的输出:

在此处输入图片说明

您可以像这样使用GridView.builder

GridView.builder(
  padding: EdgeInsets.only(left: 20, right: 20),
  shrinkWrap: true,
  physics: NeverScrollableScrollPhysics(),
  gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
    crossAxisCount: 2,
    crossAxisSpacing: 20,
    mainAxisSpacing: 8,
    childAspectRatio: 0.7,
  ),
  itemCount: 10,
  itemBuilder: (context, index) {
    return Padding(
      padding: (index % 2) == 0 ? EdgeInsets.only(bottom: 15) : EdgeInsets.only(top: 15),
      child: Card(
        shape: RoundedRectangleBorder(
          borderRadius: BorderRadius.circular(10),
        ),
        child: Container(
          decoration: BoxDecoration(
            color: (index % 2) == 0 ? Colors.red : Colors.green,
            borderRadius: BorderRadius.circular(10),
          ),
        ),
      ),
    );
  },
);

一种方法是在一行中添加两列:

Row(
  children: [
    Expanded(
      child: Column(
        children: [
          CardWidget(/*...*/),
          CardWidget(/*...*/),
          CardWidget(/*...*/),
          CardWidget(/*...*/),
        ],
      ),
    ),
    Expanded(
      child: Column(
        children: [
          const SizedBox(
            height: 50,
          ),
          CardWidget(/*...*/),
          CardWidget(/*...*/),
          CardWidget(/*...*/),
          CardWidget(/*...*/),
        ],
      ),
    ),
  ],
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM