Клавиатура скрывает текстовое поле при редактировании текстового поля (трепетание) - PullRequest
0 голосов
/ 04 марта 2020

При редактировании моего текстового поля клавиатура скрывает половину экрана. Я хочу сделать экран pu sh с помощью клавиатуры, чтобы я мог видеть все поле. Как мне это сделать?

Before tap to a textfield After tap to a textfield

Здесь моя форма виджета, я уже пробовал SingleScrollView, но проблема в том, мой взгляд стал белым

class SignUpFormState extends State<_SignUpForm> {
  final _signUpFormKey = GlobalKey<FormState>();

  @override
  Widget build(BuildContext context) {
    return Consumer<LoginModel>(
        builder: (context, loginModel, child) => Expanded(
              child: Padding(
                padding: EdgeInsets.only(left: 16.0, right: 16.0),
                child: Card(
                  child: Form(
                      key: _signUpFormKey,
                      child: Padding(
                        padding: const EdgeInsets.symmetric(horizontal: 16.0),
                        child: Column(
                          children: <Widget>[
                            Container( height: 16.0,),
                            Text(),
                            Spacer(flex: 3, ),
                            Padding(),
                            Padding(),
                            Padding(),
                            Padding(),
                            Spacer( flex: 4,),
                            Row(),
                          ],
                        ),
                      )),
                ),
              ),
            ));
  }
}

Ответы [ 3 ]

2 голосов
/ 04 марта 2020

Используйте SingleChildView это нравится.

class SomeWidgetState extends State<SomeWidget> {
  @override
  Widget build(BuildContext context) {
    //If you use Scaffold in parent widget, use Container instead of Scaffold.
    return Scaffold(
      body: SingleChildScrollView(
        child: Column([Your Login Form Widget])
    )
  }
}
0 голосов
/ 01 апреля 2020

Используйте Scaffold в качестве root и добавьте resizeToAvoidBottomPadding: false, непосредственно перед концом scaffold скобки. Вы будете хорошо к go.

пример:

return Scaffold(
      body: Column(
        .....


      ),


 resizeToAvoidBottomPadding: false, //this line here

    );
0 голосов
/ 04 марта 2020

Используйте Scaffold виджет как root экрана. Проблема будет решена.

Например:

@override
Widget build(BuildContext context) {
  return Scaffold(
    body: ListView(  // or Column
      // contents
    )
  );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...