Flutter 颤振网格视图中的中心内容

Flutter 颤振网格视图中的中心内容,flutter,layout,alignment,Flutter,Layout,Alignment,我一直在尝试将GridView的内容集中在Flatter中,但我真的没有想法了,无法让它工作 我想将GridView的内容放在白色容器的中心,但它总是在容器/GridView项的顶部对齐 代码如下: Gridview body: SafeArea( child: Container( width: double.infinity, child: GridView.count( // childAspectRatio: , cros

我一直在尝试将GridView的内容集中在Flatter中,但我真的没有想法了,无法让它工作

我想将GridView的内容放在白色容器的中心,但它总是在容器/GridView项的顶部对齐

代码如下:

Gridview

body: SafeArea(
    child: Container(
      width: double.infinity,
      child: GridView.count(
        // childAspectRatio: ,
        crossAxisCount: _orientationRows,
        children: <Widget>[
          Container(
            width: double.infinity,
            height: double.infinity,
            child: Center(
              child: MaterialButton(
                child: MainIconBotton(
                  imageURL: "assets/icons/video.png",
                  label: "mainIcon.mp4".tr(),
                ),
                onPressed: () {
                  Navigator.push(
                    context,
                    MaterialPageRoute(builder: (context) => ScreenVideo()),
                  );
                },
              ),
            ),
          ), 
/// (and so on)
主体:安全区域(
子:容器(
宽度:double.infinity,
子项:GridView.count(
//childAspectRatio:,
交叉轴计数:_方向行,
儿童:[
容器(
宽度:double.infinity,
高度:双无限,
儿童:中心(
子:材质按钮(
孩子:梅因康伯顿(
imageURL:“资产/图标/视频.png”,
标签:“mainIcon.mp4”.tr(),
),
已按下:(){
导航器。推(
上下文
MaterialPackageRoute(生成器:(上下文)=>ScreenVideo()),
);
},
),
),
), 
///(等等)
MainIcon小部件(=Gridview项目的内容)

返回容器(
保证金:所有(7),
填充:边缘设置。全部(9),
装饰:盒子装饰(
边界半径:边界半径。圆形(15),颜色:颜色。白色),
子:列(
crossAxisAlignment:crossAxisAlignment.center,
mainAxisAlignment:mainAxisAlignment.spaceAround,
儿童:[
扩大(
弹性:2,
子:Image.asset(
imageURL,
)),
大小盒子(
身高:5,,
),
扩大(
子:文本(
标签,
textAlign:textAlign.center,
软包装:是的,
样式:TextStyle(
fontWeight:fontWeight.bold,
尺寸:22,
),
),
)
],
),
);
我希望有人能帮上忙-提前谢谢你!
Chris

在gridview中使用列标记而不是中心

body: SafeArea(
child: Container(
  width: double.infinity,
  child: GridView.count(
    // childAspectRatio: ,
    crossAxisCount: _orientationRows,
    children: <Widget>[
      Container(
        width: double.infinity,
        height: double.infinity,
        child: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.center,
          children:[MaterialButton(
            child: MainIconBotton(
              imageURL: "assets/icons/video.png",
              label: "mainIcon.mp4".tr(),
            ),
            onPressed: () {
              Navigator.push(
                context,
                MaterialPageRoute(builder: (context) => ScreenVideo()),
              );
            },
          )]
        ),
      ),
主体:安全区域(
子:容器(
宽度:double.infinity,
子项:GridView.count(
//childAspectRatio:,
交叉轴计数:_方向行,
儿童:[
容器(
宽度:double.infinity,
高度:双无限,
子:列(
crossAxisAlignment:crossAxisAlignment.center,
mainAxisAlignment:mainAxisAlignment.center,
儿童:[材料按钮(
孩子:梅因康伯顿(
imageURL:“资产/图标/视频.png”,
标签:“mainIcon.mp4”.tr(),
),
已按下:(){
导航器。推(
上下文
MaterialPackageRoute(生成器:(上下文)=>ScreenVideo()),
);
},
)]
),
),
body: SafeArea(
child: Container(
  width: double.infinity,
  child: GridView.count(
    // childAspectRatio: ,
    crossAxisCount: _orientationRows,
    children: <Widget>[
      Container(
        width: double.infinity,
        height: double.infinity,
        child: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.center,
          children:[MaterialButton(
            child: MainIconBotton(
              imageURL: "assets/icons/video.png",
              label: "mainIcon.mp4".tr(),
            ),
            onPressed: () {
              Navigator.push(
                context,
                MaterialPageRoute(builder: (context) => ScreenVideo()),
              );
            },
          )]
        ),
      ),