翩翩起舞中的非滚动网格

问题描述 投票:0回答:1

我看了看 GridView 小部件,但其

一个可滚动的二维小组件阵列

我希望网格在水平和垂直方向上都能占据父节点允许的最大面积。或者如果有一些widget可以在允许我们指定行和列的同时进行扩展。一定是有原因的,我可以想到几个用例。

总之,这是我目前的情况。

class NumberButtonsGrid extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        Expanded(child: Row(children: <Widget>[
          Expanded(child: Text("1"), flex: 1),
          Expanded(child: Text("2"), flex: 1),
          Expanded(child: Text("3"), flex: 1),
        ],), flex: 1),
        Expanded(child: Row(children: <Widget>[
          Expanded(child: Text("4"), flex: 1),
          Expanded(child: Text("5"), flex: 1),
          Expanded(child: Text("6"), flex: 1),
        ],), flex: 1),
        Expanded(child: Row(children: <Widget>[
          Expanded(child: Text("7"), flex: 1),
          Expanded(child: Text("8"), flex: 1),
          Expanded(child: Text("9"), flex: 1),
        ],), flex: 1),
        Expanded(child: Row(children: <Widget>[
          Expanded(child: Text("."), flex: 1),
          Expanded(child: Text("0"), flex: 1),
          Expanded(child: Text("00"), flex: 1),
        ],), flex: 1),
      ],
    );
  }
}

有没有更好的办法。我觉得很乱。如果我必须在各个单元格中填充不同的小部件怎么办?这将是一个灾难。这感觉就像在 HTML 使用 <div>.

flutter flutter-layout
1个回答
0
投票

如果你想禁止GridViewListView的滚动,添加。

physics: NeverScrollableScrollPhysics()

GridViewListView有一个自动展开的行为,所以你需要设置自动展开的功能。宽度 的父部件,如果您的部件被设置为 Axis.vertical 反之亦然。

而且你可以使用 MediaQuery.of(context).size.width * number 根据屏幕大小设置GridView的宽度。

© www.soinside.com 2019 - 2024. All rights reserved.