css - 为什么我的窗口小部件不在屏幕中央?

标签 css android-studio flutter dart

Widget build(BuildContext context) {
return Scaffold(
  body: Column(
    mainAxisAlignment: MainAxisAlignment.center,
    crossAxisAlignment: CrossAxisAlignment.center,
    children: <Widget>[
      Text(
        'BMI:',
        style: TextStyle(color: Colors.white, fontSize: 50.0),
      ),
      FlatButton(
        child: Text('GO BACK'),
        color: Colors.grey,
        onPressed: () {
          Navigator.pop(context);
        },
      )
    ],
  ),
);}

我只希望文本和按钮垂直和水平位于屏幕中央。我将主轴和横轴对齐方式居中,但该列在屏幕的左侧,尽管它已垂直居中。只是不水平;我以为这就是横轴对齐的用途,为什么不将其居中?

最佳答案

问题是:CrossAxisAlignment有效,但您的列仅与图像上显示的一样宽。这样看来一切都没有发生。

在这里,您可以将整个列窗口小部件包装在中心窗口小部件中以使其工作。

@override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'BMI:',
              style: TextStyle(color: Colors.white, fontSize: 50.0,),
            ),
            FlatButton(
              child: Text('GO BACK'),
              color: Colors.grey,
              onPressed: () {
                Navigator.pop(context);
              },
            )
          ],
        ),
      ),
    );
  }

有关更多信息,请查看此问题link
希望它会有所帮助。

提示:-在Android Studio中使用Flutter Inspector可获得有关小部件位置和对齐方式的正确提示。

关于css - 为什么我的窗口小部件不在屏幕中央?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62034399/

相关文章:

html - 跨度内的 CSS 固定宽度

android - 在没有 Gradle 的情况下从 Eclipse 迁移到 Android Studio

android - 错误 :SSL peer shut down incorrectly In Android studio 3. 0.1

flutter - Dart/Flutter 中 BLoC 模式的最佳实践

unit-testing - 使用 BLoC 模式测试小部件

html - 如何使边框集中在 css 的菜单下?

html - 如何在 Bootstrap 中获取跨越父级整个宽度的按钮组?

css - matlab浏览器版本

encoding - Android Studio 中的西类牙语字符

android - Flutter 更改所选选项卡的背景