0

help_post 我需要这个问题的解决方案。我遇到了一些问题来解决它~我是一个新人。我试过了,但它不起作用...... 这是我朋友给出的问题,这是我的输出,因为我的英语不好......

4

2 回答 2

0

在您的情况下,使用flutter_staggered_grid_view来实现您想要的会更容易,只需使用一个 Staggered GridView 或连续使用 3 个:

StaggeredGridView.countBuilder(
  crossAxisCount: 4,
  itemCount: 8,
  itemBuilder: (BuildContext context, int index) => new Container(
      color: Colors.green,
      child: new Center(
        child: new CircleAvatar(
          backgroundColor: Colors.white,
          child: new Text('$index'),
        ),
      )),
  staggeredTileBuilder: (int index) =>
      new StaggeredTile.count(2, index.isEven ? 2 : 1),
  mainAxisSpacing: 4.0,
  crossAxisSpacing: 4.0,
)
于 2021-12-08T04:06:33.443 回答
0

我明白了,在你的朋友任务中,你有 3 列连续,所以你的结构需要是这样的:

Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, //this makes your columns be an equal width from each other
children: [
  Column(),
  Column(),
  Column(),
],
);

您还可以将每个 Column 包装在 SizedBox 中并给它一个宽度MediaQuery.of(context).size.width * 0.25(因此您的 Columns 将是一个大小),并且您可以将您的 Row 包装在 SizedBox 中,宽度为double.infinity(取所有显示宽度)

下一步是为每列内的块创建逻辑。祝你好运!

于 2021-12-07T16:38:07.270 回答