如何将 listView 转换为 GridView flutter?

How do I convert a listView to a GridView flutter?

我有一个水平格式的可滚动列表视图,我想将其转换为具有相同元素的网格视图。

Container(
  height: MediaQuery.of(context).size.height / 4,
  child: ListView.builder(
    scrollDirection: Axis.horizontal,
    itemCount: homeList.length,
    itemBuilder: (ctx, i) {
      return GestureDetector(
        onTap: () {
          if (i == 0) {            
            _interstitialAd.show();
          } else if (i == 1) {

          } else if (i == 2) {
            sendInvite();
          }
        },
      );
    },
  ),
)

这是列表视图的样子:

这就是我想要的样子:

Flutter 等价于 ListView.builder for GridView。 你只需要告诉它你想要的columns/rows(取决于方向)的数量。

GridView.builder(
          itemCount: homeList.length,
          gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount:2),
          itemBuilder: (BuildContext context, int index) {
             return GestureDetector(
                 onTap: () {
                  if (i == 0) {
                       _interstitialAd.show();
                  } else if (i == 1) {

                  } else if (i == 2) {
                      sendInvite();
                  });
          },
    )