User interface 键盘在颤振中覆盖文本字段

User interface 键盘在颤振中覆盖文本字段,user-interface,flutter,dart,scroll,keyboard,User Interface,Flutter,Dart,Scroll,Keyboard,我的问题是,每当我想在文本字段中键入内容时,键盘就会覆盖它。 我以为只要键盘一出现屏幕就会向上滚动。有什么想法吗? 我尝试将resizeToAvoidBottomInsert设置为true,并将所有内容包装到SingleChildScrollView()中 这是我的密码: class PhoneNrInput extends StatelessWidget { final TextEditingController phoneNrController = TextEditingContr

我的问题是,每当我想在文本字段中键入内容时,键盘就会覆盖它。 我以为只要键盘一出现屏幕就会向上滚动。有什么想法吗? 我尝试将resizeToAvoidBottomInsert设置为true,并将所有内容包装到SingleChildScrollView()中

这是我的密码:

  class PhoneNrInput extends StatelessWidget {
  final TextEditingController phoneNrController = TextEditingController();
  final FocusNode phoneNrFocusNode = FocusNode();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: true,
      body: Column(
        mainAxisAlignment: MainAxisAlignment.end,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: <Widget>[
          Container(
            height: 200,
            width: double.infinity,
            decoration: BoxDecoration(
              boxShadow: [BoxShadow(color: Colors.black, blurRadius: 5)],
              color: Color(0xff05111f),
              borderRadius: BorderRadius.only(
                topLeft: Radius.circular(50),
                topRight: Radius.circular(50),
              ),
            ),
            child: Padding(
              padding: EdgeInsets.all(30),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.center,
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Row(
                    crossAxisAlignment: CrossAxisAlignment.center,
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: <Widget>[
                      SizedBox(
                        width: 15,
                      ),
                      Flexible(
                        fit: FlexFit.tight,
                        //Textfield
                        child: TextField(
                          focusNode: phoneNrFocusNode,
                          autofocus: false,
                          autocorrect: false,
                          keyboardType: TextInputType.phone,
                          decoration: InputDecoration(
                            filled: true,
                            hintStyle: TextStyle(
                              color: Colors.black,
                            ),
                            border: UnderlineInputBorder(
                              borderSide: BorderSide(color: Colors.white),
                              borderRadius: BorderRadius.circular(25),
                            ),
                            fillColor: Colors.white,
                            hintText: "Telefonnummer",
                          ),
                          controller: phoneNrController,
                        ),
                      ),
                    ],
                  ),
                  SizedBox(
                    height: 25,
                  ),
                  ButtonTheme(
                    height: 40,
                    child: RaisedButton(
                      onPressed: () {},
                      color: Colors.white,
                      shape: RoundedRectangleBorder(
                        borderRadius: BorderRadius.circular(25),
                      ),
                      child: Text("Registrieren"),
                    ),
                  ),
                ],
              ),
            ),
          ),
        ],
      ),
    );
  }
}
class PhoneNrInput扩展了无状态小部件{
final TextEditingController phoneNrController=TextEditingController();
final FocusNode phoneNrFocusNode=FocusNode();
@凌驾
小部件构建(构建上下文){
返回脚手架(
resizeToAvoidBottomInset:true,
正文:专栏(
mainAxisAlignment:mainAxisAlignment.end,
crossAxisAlignment:crossAxisAlignment.center,
儿童:[
容器(
身高:200,
宽度:double.infinity,
装饰:盒子装饰(
boxShadow:[boxShadow(颜色:Colors.black,模糊半径:5)],
颜色:颜色(0xff05111f),
borderRadius:仅限borderRadius(
左上:半径。圆形(50),
右上角:半径。圆形(50),
),
),
孩子:填充(
填充:所有(30),
子:列(
crossAxisAlignment:crossAxisAlignment.center,
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
划船(
crossAxisAlignment:crossAxisAlignment.center,
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
大小盒子(
宽度:15,
),
灵活的(
适合:FlexFit.tight,
//文本字段
孩子:TextField(
focusNode:phoneNrFocusNode,
自动对焦:错误,
自动更正:错误,
键盘类型:TextInputType.phone,
装饰:输入装饰(
是的,
hintStyle:TextStyle(
颜色:颜色,黑色,
),
边框:下划线输入边框(
borderSide:borderSide(颜色:Colors.white),
边界半径:边界半径。圆形(25),
),
fillColor:Colors.white,
hintText:“Telefonnummer”,
),
控制器:电话控制器,
),
),
],
),
大小盒子(
身高:25,
),
钮扣(
身高:40,
孩子:升起按钮(
按下:(){},
颜色:颜色,白色,
形状:圆形矩形边框(
边界半径:边界半径。圆形(25),
),
子项:文本(“注册表项”),
),
),
],
),
),
),
],
),
);
}
}

如果其他人有相同的问题: 我在android/app/src/main/res/values文件夹的styles.xml文件的一节中包含了以下行:

<item name="android:windowFullscreen">true</item>
true

这导致了问题。

如果其他人也有同样的问题: 我在android/app/src/main/res/values文件夹的styles.xml文件的一节中包含了以下行:

<item name="android:windowFullscreen">true</item>
true

这导致了问题。

请检查此已回答的问题此问题是否回答了您的问题@很遗憾,这对我不起作用。无论如何,谢谢你。我想了解为什么我尝试过的方法一开始就不起作用。请检查这个回答的问题这个回答你的问题吗@很遗憾,这对我不起作用。无论如何,谢谢你。我想理解为什么我尝试的方法一开始就不起作用。