Flutter 底部溢出182像素

Flutter 底部溢出182像素,flutter,Flutter,我正在尝试在Flatter上的小部件中添加文本字段,它会正确呈现,但当按下文本以输入数据时,会出现以下错误: “底部溢出182像素” 出现默认键盘时出错。我不知道为什么会发生这种情况,因为我将所有内容都包装在一个SingleChildScrollView小部件中,因此应该可以正常工作 随附代码: class TextFieldsState extends State<TextFields> { @override Widget build(BuildContext cont

我正在尝试在Flatter上的小部件中添加文本字段,它会正确呈现,但当按下文本以输入数据时,会出现以下错误:

“底部溢出182像素”

出现默认键盘时出错。我不知道为什么会发生这种情况,因为我将所有内容都包装在一个SingleChildScrollView小部件中,因此应该可以正常工作

随附代码:

class TextFieldsState extends State<TextFields> {

  @override
  Widget build(BuildContext context) {
    const colorRed = Color(0xFFF0786E);
    return SingleChildScrollView(
      child: Container(
        margin: EdgeInsets.symmetric(
          horizontal: 20.0,
          vertical: 20.0,
        ),
        //color: Colors.greenAccent,
        height: 500,
        child: Stack(
          //alignment: Alignment.bottomCenter,
          children: <Widget>[
            Container (
              height: 500,
              decoration: BoxDecoration(
                borderRadius: BorderRadius.circular(22.0),
                color: colorRed,
              ),
              child: Container (
                height: 500,
                margin: EdgeInsets.only(right: 10,),
                decoration: BoxDecoration(
                  color: Colors.white,
                  borderRadius: BorderRadius.circular(22),
                ),
              ),
            ),
            Center(
              child: Positioned (
                child: SizedBox(
                  height: 136,
                  //width: size.width,
                  child: Column(
                    children: <Widget>[
                      Container(
                        height: 30,
                        width: 160,
                        child: TextField(
                          decoration: InputDecoration(
                            focusedBorder: OutlineInputBorder(
                              borderSide: BorderSide(
                                color: Colors.blue,
                              ),
                              borderRadius: BorderRadius.circular(10.0),
                            ),
                            hintText: 'Name',
                          ),
                          textAlign: TextAlign.center,

                        ),
                      ),
                      SizedBox(height: 20.0),
                      Container(
                        height: 30,
                        width: 160,
                        child: TextField(
                          decoration: InputDecoration(
                            focusedBorder: OutlineInputBorder(
                              borderSide: BorderSide(
                                color: Colors.blue,
                              ),
                              borderRadius: BorderRadius.circular(10.0),
                            ),
                            hintText: 'Surname',
                          ),
                          textAlign: TextAlign.center,

                        ),
                      ),
                      SizedBox(height: 20.0),

                      Container(
                        height: 30,
                        width: 160,
                        child: TextField(
                          decoration: InputDecoration(
                            focusedBorder: OutlineInputBorder(
                              borderSide: BorderSide(
                                color: Colors.blue,
                              ),
                              borderRadius: BorderRadius.circular(10.0),
                            ),
                            hintText: 'Nationality',
                          ),
                          textAlign: TextAlign.center,

                        ),
                      ),

                    ],
                  ),
                ),
              ),
            ),

          ],

        ),
      ),
    );
  }
}
class textfieldstate扩展状态{
@凌驾
小部件构建(构建上下文){
const colorRed=颜色(0xFFF0786E);
返回SingleChildScrollView(
子:容器(
边距:边缘组。对称(
水平:20.0,
垂直线:20.0,
),
//颜色:Colors.greenAccent,
身高:500,
子:堆栈(
//对齐:对齐.bottomCenter,
儿童:[
容器(
身高:500,
装饰:盒子装饰(
边界半径:边界半径。圆形(22.0),
颜色:红色,
),
子:容器(
身高:500,
页边空白:仅限边集(右:10,),
装饰:盒子装饰(
颜色:颜色,白色,
边界半径:边界半径。圆形(22),
),
),
),
居中(
孩子:定位(
孩子:大小盒子(
身高:136,
//宽度:size.width,
子:列(
儿童:[
容器(
身高:30,
宽度:160,
孩子:TextField(
装饰:输入装饰(
聚焦顺序:大纲输入边框(
边界边(
颜色:颜色,蓝色,
),
边界半径:边界半径。圆形(10.0),
),
hintText:'名称',
),
textAlign:textAlign.center,
),
),
尺寸箱(高度:20.0),
容器(
身高:30,
宽度:160,
孩子:TextField(
装饰:输入装饰(
聚焦顺序:大纲输入边框(
边界边(
颜色:颜色,蓝色,
),
边界半径:边界半径。圆形(10.0),
),
hintText:'姓',
),
textAlign:textAlign.center,
),
),
尺寸箱(高度:20.0),
容器(
身高:30,
宽度:160,
孩子:TextField(
装饰:输入装饰(
聚焦顺序:大纲输入边框(
边界边(
颜色:颜色,蓝色,
),
边界半径:边界半径。圆形(10.0),
),
hintText:‘国籍’,
),
textAlign:textAlign.center,
),
),
],
),
),
),
),
],
),
),
);
}
}
请问解决办法是什么?

请试试这个

SingleChildScrollView(
   column(  // your column
   )
)

列中存在溢出错误,您应该添加
SingleChildScrollView
作为此列的父项。

请检查下面编辑的代码

class TextFieldsState extends State<TextFields> {

    @override
      Widget build(BuildContext context) {
      const colorRed = Color(0xFFF0786E);
      return Scaffold(
      body: SingleChildScrollView(
        child: Container(
          margin: EdgeInsets.symmetric(
            horizontal: 20.0,
            vertical: 20.0,
          ),
          //color: Colors.greenAccent,
          height: 500,
          child: Stack(
            //alignment: Alignment.bottomCenter,
            children: <Widget>[
              Container(
                height: 500,
                decoration: BoxDecoration(
                  borderRadius: BorderRadius.circular(22.0),
                  color: colorRed,
                ),
                child: Container(
                  height: 500,
                  margin: EdgeInsets.only(
                    right: 10,
                  ),
                  decoration: BoxDecoration(
                    color: Colors.white,
                    borderRadius: BorderRadius.circular(22),
                  ),
                ),
              ),
              Center(
                child: SizedBox(
                  height: 136,
                  //width: size.width,
                  child: SingleChildScrollView(
                    child: Column(
                      children: <Widget>[
                        Container(
                          height: 30,
                          width: 160,
                          child: TextField(
                            decoration: InputDecoration(
                              focusedBorder: OutlineInputBorder(
                                borderSide: BorderSide(
                                  color: Colors.blue,
                                ),
                                borderRadius: BorderRadius.circular(10.0),
                              ),
                              hintText: 'Name',
                            ),
                            textAlign: TextAlign.center,
                          ),
                        ),
                        SizedBox(height: 20.0),
                        Container(
                          height: 30,
                          width: 160,
                          child: TextField(
                            decoration: InputDecoration(
                              focusedBorder: OutlineInputBorder(
                                borderSide: BorderSide(
                                  color: Colors.blue,
                                ),
                                borderRadius: BorderRadius.circular(10.0),
                              ),
                              hintText: 'Surname',
                            ),
                            textAlign: TextAlign.center,
                          ),
                        ),
                        SizedBox(height: 20.0),
                        Container(
                          height: 30,
                          width: 160,
                          child: TextField(
                            decoration: InputDecoration(
                              focusedBorder: OutlineInputBorder(
                                borderSide: BorderSide(
                                  color: Colors.blue,
                                ),
                                borderRadius: BorderRadius.circular(10.0),
                              ),
                              hintText: 'Nationality',
                            ),
                            textAlign: TextAlign.center,
                          ),
                        ),
                      ],
                    ),
                  ),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
class textfieldstate扩展状态{
@凌驾
小部件构建(构建上下文){
const colorRed=颜色(0xFFF0786E);
返回脚手架(
正文:SingleChildScrollView(
子:容器(
边距:边缘组。对称(
水平:20.0,
垂直线:20.0,
),
//颜色:Colors.greenAccent,
身高:500,
子:堆栈(
//对齐:对齐.bottomCenter,
儿童:[
容器(
身高:500,
装饰:盒子装饰(
边界半径:边界半径。圆形(22.0),
颜色:红色,
),
子:容器(
身高:500,
页边距:仅限边距(
右:10,,
),
装饰:盒子装饰(
颜色:颜色,白色,
边界半径:边界半径。圆形(22),
),
),
),
居中(
孩子:大小盒子(
身高:136,
//宽度:size.width,
子:SingleChildScrollView(
子:列(
儿童:[
容器(
身高:30,
宽度:160,
孩子:TextField(
装饰:输入装饰(
聚焦顺序:大纲输入边框(
边界边(
颜色:颜色,蓝色,
),
边界半径:边界半径。圆形(10.0),