Flutter 扑动如何在Gridview中进行动态crossAxisCount

Flutter 扑动如何在Gridview中进行动态crossAxisCount,flutter,Flutter,我有一个GridView,希望crossAxisCount根据设备大小进行更改,具体是移动设备(crossAxisCount:3)和平板电脑(crossAxisCount:4)。我是一个新手,我知道有MediaQuery,但我不知道如何使用它 我还附上了一张图片以供参考。您可以检查设备的最短侧是否小于600,因此它是手机 crossAxisCount: MediaQuery.of(context).size.shortestSide < 600 ? 2 : 4, 您可以使用wrap小部件

我有一个GridView,希望crossAxisCount根据设备大小进行更改,具体是移动设备(crossAxisCount:3)和平板电脑(crossAxisCount:4)。我是一个新手,我知道有MediaQuery,但我不知道如何使用它


我还附上了一张图片以供参考。

您可以检查设备的最短侧是否小于600,因此它是手机

crossAxisCount: MediaQuery.of(context).size.shortestSide < 600 ? 2 : 4,

您可以使用wrap小部件而不是gridview 包裹布局每个子对象,并尝试将子对象放置在主轴上与前一个子对象相邻的位置(由方向指定),在两者之间留出间距。 您可以在本文中学习如何使用wrap小部件:

extension ContextExtension on BuildContext {
  bool get isTablet => MediaQuery.of(this).size.shortestSide > 600;

  bool get isPhone => MediaQuery.of(this).size.shortestSide < 600;
}
crossAxisCount: context.isTablet ? 4 : 2