Flutter Positioned widget 导致错误:不正确使用 ParentDataWidget

use*_*845 2 flutter

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

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

Jid*_*uru 6

Positioned必须Stack根据文档说明

控制 Stack 子级的位置的小部件。

Positioned widget 必须是 Stack 的后代,并且从 Positioned widget 到其封闭 Stack 的路径必须仅包含 StatelessWidgets 或 StatefulWidgets(不能包含其他类型的 widgets,如 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,
              ),
            ),
          ],
        ),
      ),
    );
Run Code Online (Sandbox Code Playgroud)