我正在尝试制作带有 Logo 的登录/注册屏幕。我需要它们响应,所以可以适合大多数移动屏幕。为了实现这一点,我使用了 ListView。但是,我只需要将 ListView 在我的布局中居中。有什么建议吗?
这是我的尝试:
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: ListView(
children: <Widget>[
Image.asset('assets/images/logo.png', scale: 3.0,),
InputField('enter email address', Icons.email, TextInputType.emailAddress),
PasswordInputField('enter password', Icons.lock, TextInputType.text),
RoundBtn('SIGN IN', signIn),
RoundBtn('SIGN UP', () => {}),
OutlineBtn('FORGOT PASSWORD?', () => {})
],
),
)
);
}
Login Screen Registration Screen
最佳答案
使用 SingleChildScrollView 而不是 ListView。 试试这个...
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: SingleChildScrollView(
child: Column(
children: <Widget>[
Image.asset('assets/images/logo.png', scale: 3.0,),
InputField('enter email address', Icons.email, TextInputType.emailAddress),
PasswordInputField('enter password', Icons.lock, TextInputType.text),
RoundBtn('SIGN IN', signIn),
RoundBtn('SIGN UP', () => {}),
OutlineBtn('FORGOT PASSWORD?', () => {})
],
),
),)
);
}
https://stackoverflow.com/questions/52947318/