【发布时间】:2020-09-08 02:01:51
【问题描述】:
代码:基本上我有一个简单的应用程序,三个图像对齐。我有 1 列和 2 行。第一行有两个图像,第二行有一个对齐的图像。它的应用程序的结构。当在设备中的代码下方运行时,它只是完美对齐,但是当我在 WEB 上运行时,就会出现这种溢出。我尝试调整浏览器窗口的大小,然后它又开始变得漂亮了。 Flutter Web 是否有解决方法,请问我应该如何在这里进行对齐?下面的代码在主体内部和脚手架内部。我从没有问题的设备和有溢出问题的 Flutter web 附加图片。
return Column(
mainAxisAlignment: MainAxisAlignment.center,
//crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Row(
children: <Widget>[
Expanded(
child: FlatButton(
child: Image.asset('images/image1.png'),
),
),
Expanded(
child: FlatButton(
child: Image.asset('images/image1.png'),
),
),
],
),
Row(
children: <Widget>[
Expanded(
child: Image.asset('images/image1.png'),
),
],
),
],
);
}
错误:
══╡ 渲染库发现异常 ╞═════════════════════════════════════════════════ ════════ 在布局期间引发了以下断言:A RenderFlex 溢出 底部 1238 像素。
相关的导致错误的小部件是:列 file:///C:/Users/1025632/Documents/GitHub/flutter-course/diceylips/lib/main.dart:43:12
溢出的 RenderFlex 的方向为 Axis.vertical。这 溢出的 RenderFlex 边缘已在 用黄色和黑色条纹图案渲染。这通常是 由于内容对于 RenderFlex 来说太大。考虑 应用弹性因子(例如,使用 Expanded 小部件)来强制 RenderFlex 的子代以适应可用空间 的大小到他们的自然大小。这被认为是一个错误 条件,因为它表明有内容不能 见过。如果内容合法地大于可用空间, 考虑在将其放入 flex,或者使用可滚动容器而不是 Flex,例如 列表显示。有问题的具体 RenderFlex 是:RenderFlex#1ad1e relayoutBoundary=up1 OVERFLOWING: creator: Column ← DicePage ← _BodyBuilder ← MediaQuery ← LayoutId-[<_scaffoldslot.body>] ← CustomMultiChildLayout ← AnimatedBuilder ← DefaultTextStyle ← AnimatedDefaultTextStyle ← _InkFeatures-[GlobalKey#cb60e 墨迹渲染器] ← NotificationListener ← PhysicalModel ← ⋯ parentData: offset=Offset(0.0, 56.0); id=_ScaffoldSlot.body(可以使用大小)约束: BoxConstraints(0.0
方向:垂直 主轴对齐:中心 主轴尺寸:最大 crossAxisAlignment:中心 垂直方向:向下
设备中没有问题的图像 Image with overflow issue in chrome
【问题讨论】:
标签: flutter flutter-layout flutter-web