【发布时间】:2018-02-09 16:24:42
【问题描述】:
我遇到了一个我不知道如何修复的渲染异常。我正在尝试创建一个有 3 行的列。
行[图片]
行 [文本字段]
行 [按钮]
这是我构建容器的代码:
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;
}
以及我的文本容器的 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,
)
],
);
}
运行时出现以下异常:
I/flutter ( 7674): BoxConstraints forces an infinite width.
I/flutter ( 7674): These invalid constraints were provided to RenderStack's layout() function by the following
I/flutter ( 7674): function, which probably computed the invalid constraints in question:
I/flutter ( 7674): RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:256:13)
I/flutter ( 7674): The offending constraints were:
I/flutter ( 7674): BoxConstraints(w=Infinity, 0.0<=h<=Infinity)
如果我像这样将 buildAppEntryRow 更改为 TextField
Widget buildAppEntryRow2(BuildContext context) {
return new TextField(
decoration: const InputDecoration(helperText: "Enter App ID"),
style: Theme.of(context).textTheme.body1,
);
}
我不再得到异常。导致它无法计算该行大小的 Row 实现缺少什么?
【问题讨论】:
-
看到这个来解决上面的问题:stackoverflow.com/a/63698894/10563627
标签: flutter dart flutter-layout flutter-text flutter-row