Выравнивание главной оси Flutter Row не работает
Я пытаюсь поместить две кнопки материала в ряд с ровным пространством между ними. Но виджет mainAxisAlignment не работает. Обе кнопки приклеены друг к другу в начале ряда.
Widget _buildSignInButton() {
return Row(
children: <Widget>[
Container(
child: new Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
new SignInButton(
onPressed: () {
_googleSignIn();
},
imageUrl: 'assets/images/glogo.png',
),
new SignInButton(
onPressed: () {
_fbSignIn();
},
imageUrl: 'assets/images/fblogo.png',
),
],
),
)
],
);
}
Widget build(BuildContext context) {
return Container(
child: _buildSignInButton()
);
}
1 ответ
Решение
Попробуйте упростить код следующим образом:
Row(
// children: <Widget>[
// new Container(
// child: new Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
new Text('123'),
new Text('456'),
],
// ),
// ),
// ],
),
или заменить Container
с Expanded
:
Row(
children: <Widget>[
new Expanded(
child: new Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
new Text('123'),
new Text('456'),
],
),
),
],
),
Проверьте документ для более подробной информации о различиях: https://flutter.io/docs/development/ui/layout/box-constraints