Я делаю страницу входа.Я хотел бы, чтобы текстовые поля электронной почты / пароля были центрированы на странице, а кнопка была на 48 дп ниже последнего поля (и поэтому не учитывалась при расчете центрированной позиции текстовых полей).
Iне могу понять, как изменить мой макет так, чтобы кнопка не была включена в качестве центрированного элемента, как в настоящее время показано на скриншоте:
Мой код:
class LoginScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Expanded(flex: 2, child: Container()),
Expanded(
flex: 8,
child: Form(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
RoundedTextField(
hintText: 'Email',
keyboardType: TextInputType.emailAddress,
textInputAction: TextInputAction.next,
),
Container(
height: 12,
),
RoundedTextField.password(
hintText: 'Password',
textInputAction: TextInputAction.go,
),
Container(
height: 48,
),
PrimaryButton(
child: Text('Log In'),
onPressed: () => print(null),
),
],
),
),
),
Expanded(flex: 2, child: Container()),
]),
);
}
}
Я родом из мира разработки под Android, где мы можем просто сделать constrainTopToBottomOf:@id/passwordField
, и я не уверен, есть ли действительно аналог в гибкой системе.