Flutter:无限宽度

3
我正在学习Flutter课程,这是我的相关代码:
Container(
                  color: kBottomContainerColour,
                  margin: EdgeInsets.only(top: 10.0),
                  width: double.infinity,
                  height: kBottomContainerHeight,
                ),

我不断地收到这个错误信息:


These invalid constraints were provided to _RenderColoredBox's layout() function by the following function, which probably computed the invalid constraints in question:
  RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:268:14)
The offending constraints were: BoxConstraints(w=Infinity, h=80.0)
The relevant error-causing widget was: 
  Container file:///F:/Works/Projects/flutter/Flutter-Course-Resources/bmi-calculator-flutter1/lib/input_page.dart:241:24

虽然在课程中它运作良好,请帮忙。


Сйауџёт«╣тЎеТў»С╗ђС╣ѕ№╝Ът«ЃТў»тюеRowсђЂColumnУ┐ўТў»Stackт░ЈжЃеС╗ХСИГ№╝Ъ - mrgnhnt96
2个回答

5

不要使用 width: double.infinity

改为使用,

width: MediaQuery.of(context).size.width

2

不要使用 double.infinity。使用 MediaQuery 从当前小部件上下文获取大小,并从中获取宽度。 在这种情况下,做如下操作:

Container(color: kBottomContainerColour,
                  margin: EdgeInsets.only(top: 10.0),
                  width: MediaQuery.of(context).size.width
                  height: kBottomContainerHeight,
                ),

请注意,每次使用MediaQuery时,小部件将重新加载其状态。因此,请确保将小部件拆分,并遵循Google的性能指南:

https://flutter.dev/docs/perf/rendering/best-practices


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接