Я создал страницу входа в систему, на которой есть стандартный виджет с двумя расширяющимися дочерними элементами. первое расширение содержит текстовые поля имени пользователя, пароля и кнопку входа во второе расширение имеет кнопки регистрации и забвения пароля что произошло, так это то, что когда клавиатура открывается, над клавиатурой появляется второе расширение, а текстовые поля не все отображаются на экране.
body: GestureDetector(
onTap: (){
FocusScope.of(context).requestFocus(new FocusNode());
},
child: Container(
child: Column(
children: <Widget>[
Expanded(
flex: 3,
child: Form(
key: _formKey,
child: ListView(
shrinkWrap: true,
padding: EdgeInsets.only(left: 24.0, right: 24.0),
children: <Widget>[
SizedBox(
height: spaces,
),
loginImage,
SizedBox(
height: spaces,
),
buildUsernameTextField(),
SizedBox(
height: spaces,
),
buildPasswordTextField(),
SizedBox(
height: spaces,
),
login(),
],
),
),
),
Expanded(
flex: 1,
child: Container(
decoration: BoxDecoration(
boxShadow: [
new BoxShadow(
color: Colors.black45,
offset: Offset(0.0, -6.0),
blurRadius: 10.0,
),
],
borderRadius: BorderRadius.only(
topLeft: Radius.circular(55),
topRight: Radius.circular(55)),
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
const Color(0xFFFF215490),
const Color(0xFFFF010431)
],
tileMode: TileMode.clamp)),
child: ListView(
shrinkWrap: true,
padding: EdgeInsets.only(left: 24, right: 24),
children: <Widget>[
SizedBox(
height: spaces,
),
signup(),
forgetPassword(),
//_buildPasswordTextField(),
],
),
),
),
],
),
),
),
);
как это решить?
Попробуйте это, если вы еще не:
Scaffold(
resizeToAvoidBottomInset: false,
),
Я только что попробовал, и он работает, как и ожидалось, я не могу понять, почему он зависает на вашем экране.
да, потому что у вас нет изображения, которое занимает место на экране, если вы добавите изображение, поле пароля больше не будет отображаться
Хорошо, вы правы, тогда проблема в том, что у вас недостаточно места. Вы должны изменить масштаб своих виджетов или поместить SizedBox в конец представления списка форм, чтобы вы могли прокрутить вниз до поля пароля ^^" Извините, я не смог вам помочь.
нет, вы мне очень помогли, я исправляю размер картинки и использую ваше решение, и все хорошо, спасибо !!!
спасибо за помощь, но экран зависает, поэтому я не могу ввести пароль