我得到一个渲染异常,我不明白如何修复.我正在尝试创建一个包含3行的列.
行[图片]
行[TextField]
行[按钮]
这是构建容器的代码:
Container buildEnterAppContainer(BuildContext context) {
var container = new Container(
padding: const EdgeInsets.all(8.0),
child: new Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
buildImageRow(context),
buildAppEntryRow(context),
buildButtonRow(context)
],
),
);
return container;
}
Run Code Online (Sandbox Code Playgroud)
和我的buildAppEntryRow文本容器的代码
Widget buildAppEntryRow(BuildContext context) {
return new Row(
children: <Widget>[
new TextField(
decoration: const InputDecoration(helperText: "Enter App ID"),
style: Theme.of(context).textTheme.body1,
)
],
);
}
Run Code Online (Sandbox Code Playgroud)
当我运行时,我得到以下异常:
I/flutter ( 7674): BoxConstraints forces an infinite width.
I/flutter ( 7674): These invalid constraints were provided to RenderStack's layout() function by the …Run Code Online (Sandbox Code Playgroud) 因此,我正在尝试制作一个应用程序,让用户填写几个表单字段,并在用户提交表单时处理信息。我的问题是我似乎不知道如何使Form滚动(因为它很长并且导致 RenderFlex 错误)。我用它包装的任何可滚动小部件仍然会导致 RenderFlex 错误。它滚动的唯一一次是当我用 a 包裹它时ListView,但它也会导致 RenderFlex 错误,最糟糕的是,当我尝试滚动到底部以点击提交按钮时,由于某种原因滚动回到正常状态。我已经尝试过如何在颤振和颤振中滚动页面 - 如何使列屏幕可滚动中的大多数解决方案,但它们似乎都不起作用。该表格的结构如下:
- Form
- Column (List of input fields, crossAxisAlignment = CrossAxisAlignment.start)
- Padding (Input field, top padding of 12)
- Column (Text + input field)
- Align (alignment = Alignment.centerLeft)
- Padding (Left padding 8)
- Text (Field title)
- Padding (Symmetric horizontal padding of 8)
- TextFormField (Text input)
- Seven more input fields with the same structure (Padding > …Run Code Online (Sandbox Code Playgroud)