如何在用 singlechildscrollview 包裹的列内使用间隔符?

Ali*_*laf 19 flutter

我试图在用 singlechildscrollview 包裹的列内使用 spacer,它给了我一个错误。

RenderFlex children have non-zero flex but incoming height constraints are unbounded.
Run Code Online (Sandbox Code Playgroud)

这是我的小部件

class Test extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Form(
        child: SingleChildScrollView(
      child: Column(
        children: <Widget>[
          TextFormField(),
          TextFormField(),
          //Spacer()
          Divider(),
          Icon(Icons.block)
        ],
      ),
    ));
  }
}
Run Code Online (Sandbox Code Playgroud)

我应该用什么?感谢你的帮助

voi*_*oid 25

您可以尝试一下,我使用您的代码添加了一个示例,它有效:

class Test extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(body: LayoutBuilder(
      builder: (context, constraint) {
        return Form(
          child: SingleChildScrollView(
            child: ConstrainedBox(
              constraints: BoxConstraints(minHeight: constraint.maxHeight),
              child: IntrinsicHeight(
                child: Column(
                  children: <Widget>[
                    TextFormField(),
                    TextFormField(),
                    Spacer(),
                    Divider(),
                    Icon(Icons.block)
                  ],
                ),
              ),
            ),
          ),
        );
      },
    ));
  }
}

Run Code Online (Sandbox Code Playgroud)

检查此 Github 问题,了解有关上述解决方案的更多详细信息:Wrapping a Column with an Expanded in a SingleChildScrollView throws an exception