如何在 Flutter 的 GridView 中对齐小部件?

How to align widgets in a GridView in Flutter?

我想将 GridView 项目的内容对齐到中心(垂直和水平没有更改小部件的大小.

这段代码创建了一个 GridView,里面有一个项目,它有一个默认的顶部居中对齐方式,大小是一个默认的正方形。

GridView.count(
  crossAxisCount: 3, 
  children: [
    Container(
      // alignment: Alignment.center,
      child: RaisedButton(
        child: Column(
          children: [
            Text("Top text"),
            Text("Bottom text"),
          ],
        ),
        onPressed: (){}
      ),
    ),
  ],
);

看起来像这样:

当我取消对对齐的注释时,它没有正确对齐项目并且项目的大小发生了变化,我不想要它们。

请注意,我在那个 GridView 项中需要多个 Widget,所以我无法删除 Column(但也许我可以替换它?)。

将 mainAxisAlignment 添加到列后,我没有看到任何大小变化。请运行下面的代码:

import 'package:flutter/material.dart';

final Color darkBlue = Color.fromARGB(255, 18, 32, 47);

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark().copyWith(scaffoldBackgroundColor: darkBlue),
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GridView.count(
      crossAxisCount: 3,
      children: [
        Container(
          // alignment: Alignment.center,
          child: RaisedButton(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  Text("Top text"),
                  Text("Bottom text"),
                ],
              ),
              onPressed: () {}),
        ),
      ],
    );
  }
}