为什么 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!')],))
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!')],))