颤动键盘使文本域隐藏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了颤动键盘使文本域隐藏相关的知识,希望对你有一定的参考价值。

我是新来的人。我添加了一个带有文本字段的表单,当我单击文本字段和键盘时,文本字段会上升。

这是我的代码:

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,
                ),
              )
          )
      ),
    );
  }

这是没有打开键盘的结果:Image without keyboard

这是打开键盘后的图像:Image after opening the keyboard


这是我的扑动医生输出。

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.

任何想法如何解决这个问题?

答案

这就是我的情况。你肯定是将脚手架包裹在另一个脚手架内。你的颤动应用程序中应该只有一个脚手架小部件,即主要布局。简单地移除您拥有的所有祖先脚手架并且仅保留一个脚手架。不要将脚手架包裹在另一个脚手架中。尽管如此,你可以将脚手架包裹在容器内。

请确保在main.dart文件中没有这样做: -

✖✖

return Scaffold(
body : YourNewFileName(),
);

尽管上面的代码执行此操作: - ✔✔

return YourNewFileName();
另一答案
 new Scaffold(
      appBar: new AppBar(
          ...
      resizeToAvoidBottomPadding: true,
      ....

修复问题文本字段被键盘隐藏

另一答案

resizeToAvoidBottomPadding isDeprecated use而不是resizeToAvoidBottomInset:true

以上是关于颤动键盘使文本域隐藏的主要内容,如果未能解决你的问题,请参考以下文章

隐藏在键盘颤动下的文本字段

StreamBuilder snapshot.hasError 在键盘显示/隐藏颤动时显示多次

我用UEditor编辑文本保存后,当我在查看详细页面时,发现文本域里面的字符还带了html标签,这是怎么一回

从片段导航到另一个片段时隐藏键盘

软输入键盘隐藏编辑文本

在片段替换上显示/隐藏 Android 软键盘