Это потому, что высота SingleChildScrollView зависит от vertical: 120.0
вместо значения container( height: double.infinity )
, которое означает, что высота контейнера равна его родительской.
Часть: MediaQuery.of(context).size.height
означает "как экран", вы можете использовать MediaQuery.of(context).size.height/2
вместо того, чтобы изменить высоту контейнера
попробуйте это:
FadeAnimation(
1.8,
Center(
child: _isLoading
? Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
child: Center(child: CircularProgressIndicator()))
:Container(
height: double.infinity,
child: SingleChildScrollView(
physics: AlwaysScrollableScrollPhysics(),
padding: EdgeInsets.symmetric(
horizontal: 40.0,
vertical: 120.0,
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'Sign In',
style: TextStyle(
color: Colors.white,
fontFamily: 'OpenSans',
fontSize: 30.0,
fontWeight: FontWeight.bold,
),
),
SizedBox(height: 30.0),
_buildEmailTF(),
SizedBox(
height: 30.0,
),
_buildPasswordTF(),
_buildForgotPasswordBtn(),
_buildRememberMeCheckbox(),
_buildLoginBtn(),
_buildSignInWithText(),
_buildSocialBtnRow(),
_buildSignupBtn(),
],
),
),
)),
)