web-dev-qa-db-fra.com

Flutter Keyboard permet à textfield de se cacher

Je suis nouveau à flutter. J'ai ajouté un formulaire avec un champ de texte et lorsque je clique sur le champ de texte et que le clavier arrive, le champ de texte augmente.

Ceci est mon code: 

Widget build(BuildContext context) {

MediaQueryData mediaQuery = MediaQuery.of(context);
return new Scaffold(
  body:  new Container(
      color: Colors.purple,
      constraints: new BoxConstraints.expand(),
      padding: EdgeInsets.only(top: 10.0,left: 10.0,right: 10.0, bottom: mediaQuery.viewInsets.bottom, ),
      child: SingleChildScrollView(
        child: Container(
            child: Column(
                crossAxisAlignment: CrossAxisAlignment.center,
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  SizedBox(height: 12.0),
                  Text(
                    'What is your Bussiness Name?',
                    style: TextStyle(fontSize: 24.0),
                  ),
                  AppForm(),
                ],
              ),
            padding: EdgeInsets.only(left: 10.0,right: 10.0, bottom: mediaQuery.viewInsets.bottom),
            decoration: BoxDecoration(
              borderRadius: BorderRadius.all(Radius.circular(30.0)),
              color: Colors.white,
                ),
              )
          )
      ),
    );
  }

Voici le résultat sans ouvrir le clavier: Image sans clavier

Voici l'image après l'ouverture du clavier: Image après l'ouverture du clavier


Voici la sortie de mon médecin flutter.

Doctor summary (to see all details, run flutter doctor -v): [√] Flutter 
(Channel beta, v0.5.1, on Microsoft Windows [Version 10.0.17134.165], locale 
en-US) [√] Android toolchain - develop for Android devices (Android SDK 
28.0.0) [√] Android Studio (version 3.1) [!] VS Code, 64-bit edition (version 
1.25.1) [!] Connected devices ! No devices available ! Doctor found issues in 
2 categories.

aucune idée de comment résoudre ce problème?

4
Nirodya Gamage

C'était le cas avec moi. Vous enveloppez certainement un échafaudage dans un autre échafaudage. il ne devrait y avoir qu'un seul widget d'échafaudage dans votre application Flutter, c'est-à-dire la disposition principale. Enlevez simplement tous vos échafaudages d’ancêtres et ne gardez qu’un échafaudage. ne pas envelopper un échafaudage dans un autre échafaudage. En dépit de cela, vous pouvez envelopper un échafaudage dans un conteneur. 

Assurez-vous que vous ne faites pas ceci dans votre fichier main.Dart: -

✖✖

return Scaffold(
body : YourNewFileName(),
);

Malgré le code ci-dessus, faites ceci: - ✔✔

return YourNewFileName();
5
Aman Malhotra
 new Scaffold(
      appBar: new AppBar(
          ...
      resizeToAvoidBottomPadding: true,
      ....

Problème de texte résolu masqué par le clavier

0
songoku1610