在列小部件内容中使用 SingleChildScrollview 不滚动

Raj*_*le 2 cross-platform dart flutter

Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: false,
      backgroundColor: Colors.white,
      body: Container(
        child: Column(
          children: <Widget>[
            Stack(
              fit: StackFit.loose,
              children: <Widget>[
                HeadersVC(),
                Container(
                  margin: EdgeInsets.only(top: 40.0),
                  child: Row(
                    mainAxisAlignment: MainAxisAlignment.start,
                    crossAxisAlignment: CrossAxisAlignment.center,
                    children: <Widget>[
                      FlatButton(
                        splashColor: Colors.transparent,
                        highlightColor: Colors.transparent,
                        onPressed: () {
                          Navigator.pop(context);
                        },
                        child: Icon(
                          Icons.arrow_back,
                          size: 30,
                          color: Colors.white,
                        ),
                      ),
                      Text(
                        widget.headertitleladderPre,
                        style: TextStyle(
                            fontSize: 22.0,
                            color: Colors.white,
                            fontWeight: FontWeight.bold),
                      ),
                    ],
                  ),
                )
              ],
            ),
            SingleChildScrollView(
              padding: EdgeInsets.only(top: 20.0, left: 30.0, right: 30.0),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.stretch,
                children: <Widget>[
                  Padding(
                    padding: EdgeInsets.only(top: 10.0),
                  ),
                  //******************************************** Date Picker  */
                  TextFormField(
                    onTap: () async {
                      FocusScope.of(context).requestFocus(new FocusNode());
                      _selectDate(context);
                    },
                    decoration: InputDecoration(
                        enabledBorder: UnderlineInputBorder(
                            borderSide:
                                BorderSide(color: Colors.black26, width: 1.5)),
                        contentPadding: EdgeInsets.only(left: 0.0, right: 0.0),
                        labelText: formatDate(formatedDate),
                        labelStyle: TextStyle(
                            fontFamily: "Montserrat", color: Colors.black),
                        suffixIcon: new Padding(
                          padding: const EdgeInsets.only(
                              top: 0.0, left: 0.0, right: 0.0, bottom: 0.0),
                          child: SizedBox(
                            height: 15,
                            child: Icon(
                              Icons.calendar_today,
                              color: Colors.red,
                            ),
                          ),
                        )),
                  ),
                  Padding(
                    padding: EdgeInsets.only(left: 0.0, top: 10.0),
                  ),
                  //******************************************** DropDown Button  */
                  Container(
                    child: DropdownButton(
                      underline: Container(
                        height: 1.0,
                        decoration: const BoxDecoration(
                            border: Border(
                                bottom: BorderSide(
                                    color: Colors.black26, width: 1.5))),
                      ),
                      value: _selectedladleno,
                      items: _dropDownladleItems,
                      onChanged: changedDropDownItem,
                      isExpanded: true,
                      isDense: false,
                      icon: Icon(
                        Icons.arrow_drop_down,
                        color: Colors.red,
                      ),
                      iconSize: 30,
                      elevation: 12,
                      style: TextStyle(
                        fontSize: 15,
                      ),
                    ),
                  ),
                  //******************************************** Radio Button  */
                  ButtonBar(
                    alignment: MainAxisAlignment.start,
                    buttonPadding: EdgeInsets.only(left: 0.0),
                    children: <Widget>[
                      Radio(
                        groupValue: _character,
                        onChanged: (SingingCharacter value) {
                          setState(() {
                            _character = value;
                            print(_character);
                          });
                        },
                        value: SingingCharacter.New,
                        activeColor: Colors.red,
                      ),
                      Text(
                        "New",
                        style: TextStyle(fontSize: 13.0),
                      ),
                      Radio(
                        groupValue: _character,
                        onChanged: (SingingCharacter value) {
                          setState(() {
                            _character = value;
                            print(_character);
                          });
                        },
                        value: SingingCharacter.Repair,
                        activeColor: Colors.red,
                      ),
                      Text(
                        "Repair",
                        style: TextStyle(fontSize: 13.0),
                      ),
                      Radio(
                        groupValue: _character,
                        onChanged: (SingingCharacter value) {
                          setState(() {
                            _character = value;
                            print(_character.toString());
                          });
                        },
                        value: SingingCharacter.OnlyMachineChange,
                        activeColor: Colors.red,
                      ),
                      Text(
                        "Machine Change",
                        style: TextStyle(fontSize: 13.0),
                      ),
                    ],
                  ),
                  //******************************************** Machine Number  */
                  TextFormField(
                    decoration: InputDecoration(
                        labelText: "Machine Number *",
                        labelStyle: TextStyle(
                            fontFamily: "Montserrat", color: Colors.black)),
                  ),
                  TextFormField(
                    decoration: InputDecoration(
                        labelText: "Well Block Party *",
                        labelStyle: TextStyle(
                            fontFamily: "Montserrat", color: Colors.black)),
                  ),
                  TextFormField(
                    decoration: InputDecoration(
                        labelText: "Well Block Party *",
                        labelStyle: TextStyle(
                            fontFamily: "Montserrat", color: Colors.black)),
                  ),
                  TextFormField(
                    decoration: InputDecoration(
                        labelText: "Well Block Party *",
                        labelStyle: TextStyle(
                            fontFamily: "Montserrat", color: Colors.black)),
                  ),
                  TextFormField(
                    decoration: InputDecoration(
                        labelText: "Well Block Party *",
                        labelStyle: TextStyle(
                            fontFamily: "Montserrat", color: Colors.black)),
                  ),
                  TextFormField(
                    decoration: InputDecoration(
                        labelText: "Well Block Party *",
                        labelStyle: TextStyle(
                            fontFamily: "Montserrat", color: Colors.black)),
                  ),
                  TextFormField(
                    decoration: InputDecoration(
                        labelText: "Well Block Party *",
                        labelStyle: TextStyle(
                            fontFamily: "Montserrat", color: Colors.black)),
                  ),
                  TextFormField(
                    decoration: InputDecoration(
                        labelText: "Well Block Party *",
                        labelStyle: TextStyle(
                            fontFamily: "Montserrat", color: Colors.black)),
                  ),
                  TextFormField(
                    decoration: InputDecoration(
                        labelText: "Well Block Party *",
                        labelStyle: TextStyle(
                            fontFamily: "Montserrat", color: Colors.black)),
                  ),
                  TextFormField(
                    decoration: InputDecoration(
                        labelText: "Well Block Party *",
                        labelStyle: TextStyle(
                            fontFamily: "Montserrat", color: Colors.black)),
                  )
                ],
              ),
            )
          ],
        ),
      ),
    );
  }
Run Code Online (Sandbox Code Playgroud)

我有这样的错误:

正在执行热重载... ?flutter: ??? 通过渲染库捕获的异常 ????????????????????????????????????????????? ???????????? flutter:在布局过程中抛出了以下断言: flutter: A RenderFlex 在底部溢出了 158 个像素。flutter: flutter: 相关的导致错误的小部件是: flutter: Column file:///Users/baps/Projects/Flutter%20Projects/TRLApp/trlapp/lib/ladlePreheating.dart:64:16 flutter: flutter: 溢出的RenderFlex具有 Axis.vertical 的方向。flutter: RenderFlex 溢出的边缘在渲染中被标记为黄色和flutter: black 条纹图案。这通常是由于 RenderFlex 的内容太大造成的。颤振:考虑应用弹性系数(例如 使用扩展小部件)强制 flutter: RenderFlex 的子级适应可用空间,而不是调整到它们的自然大小。flutter: 这被认为是一个错误条件,因为它表明存在不能 flutter: seen 的内容。如果内容合法地大于可用空间,请考虑在将其放入 flex 之前使用 flutter: ClipRect 小部件对其进行裁剪,或者使用可滚动容器而不是 Flex,flutter: 就像 ListView。flutter:有问题的特定 RenderFlex 是:RenderFlex#4bdfdrelayoutBoundary=up1 OVERFLOWING: flutter: 需要合成 flutter: creator: Column ? 容器 ?_健美先生?媒体查询?LayoutId-[<_ScaffoldSlot.body>] ?颤振:CustomMultiChildLayout ?动画生成器?默认文本样式?动画默认文本样式?扑:_InkFeatures-[GlobalKey#9c17c 墨迹渲染器] ? 通知监听器?颤振:物理模型?? 颤振:父数据:偏移=偏移(0.0,0.0);id=_ScaffoldSlot.body (可以使用size) flutter:constraints:BoxConstraints(0.0<=w<=414.0, 0.0<=h<=736.0) flutter: size: Size(414.0, 736.0) flutter: direction: vertical flutter: mainAxisAlignment : start flutter: mainAxisSize: max flutter: crossAxisAlignment: center flutter: verticalDirection: down flutter: ????????????????????????????????? ?????????????????????????????????????????????????????? ????????????????????? 颤抖:???????????????????????????????????????????????? ?????????????????????????????????????????????????????? ?? body (可以使用size) flutter: constraint: BoxConstraints(0.0<=w<=414.0, 0.0<=h<=736.0) flutter: size: Size(414.0, 736.0) flutter: direction: vertical flutter: mainAxisAlignment: start flutter: mainAxisSize: max flutter: crossAxisAlignment: center flutter: verticalDirection: down flutter: ??????????????????????????????????? ?????????????????????????????????????????????????????? ??????????????? 颤抖:???????????????????????????????????????????????? ?????????????????????????????????????????????????????? ?? body (可以使用size) flutter: constraint: BoxConstraints(0.0<=w<=414.0, 0.0<=h<=736.0) flutter: size: Size(414.0, 736.0) flutter: direction: vertical flutter: mainAxisAlignment: start flutter: mainAxisSize: max flutter: crossAxisAlignment: center flutter: verticalDirection: down flutter: ??????????????????????????????????? ?????????????????????????????????????????????????????? ??????????????? 颤抖:???????????????????????????????????????????????? ?????????????????????????????????????????????????????? ?? ?????????????????????????????????????????????????????? ?????????????????????????????????????????????????????? 颤抖:???????????????????????????????????????????????? ?????????????????????????????????????????????????????? ?? ?????????????????????????????????????????????????????? ?????????????????????????????????????????????????????? 颤抖:???????????????????????????????????????????????? ?????????????????????????????????????????????????????? ??

Par*_*ave 5

错过将 ScrollView 展开为 Column 容器将不知道它需要占用多少空间,因此,它计算的大小大于屏幕大小。

所以只需将 Expanded 放入其中:

...
Expanded(
                child: SingleChildScrollView(
                  padding:...
Run Code Online (Sandbox Code Playgroud)

输出