Flutter Positioned小部件导致错误:ParentDataWidget的使用不正确

时间:2020-06-08 16:31:18

标签: flutter

以下代码导致错误:不正确地使用ParentDataWidget。 导致此错误的原因是已定位小部件,但我不确定为什么...

return Scaffold(
      body: Container(
        color: Colors.red,
        child: Positioned(
          left: 32.0,
          child: Container(
            width: 128.0,
            height: 128.0,
            color: Colors.yellow,
          ),
        ),
      ),
    );

1 个答案:

答案 0 :(得分:3)

Positioned必须位于documentation所指的Stack

一个控件,用于控制Stack子元素的放置位置。

Positioned小部件必须是Stack的后代,并且路径必须是 封闭堆栈中的定位小部件必须仅包含 StatelessWidgets或StatefulWidgets(不是其他类型的小部件,例如 RenderObjectWidgets)。

return Scaffold(
      body: Container(
        color: Colors.red,
        child: Stack(
          children: <Widget>[
            Positioned(
              left: 32.0,
              child: Container(
                width: 128.0,
                height: 128.0,
                color: Colors.yellow,
              ),
            ),
          ],
        ),
      ),
    );