为什么 CrossAxisAlignment 在 Flex、Row 和 Column 中不起作用?

Why CrossAxisAligment not Working in Flex,Row and Column?

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(
          'Flutter Demo'
        ),
      ),
      body: Row(
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: <Widget>[
          Text(
            'Hell World!'
          )
        ],
      )
    );
  }
}

为什么文本 Hell World 只是水平居中而不是垂直居中,因为我也指定了 CrossAxisAligment

是不是因为这个:Issue

Row 不采用默认可用的所有垂直 space。它只需要需要的space(但它需要所有水平的space)。

强制行垂直展开应该可以解决问题:

body: SizedBox.expand(
  child: Row(...),
),

使用中心小部件

Center(child: Row(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[Text('Hell World!')],))