颤振列未展开

Nik*_*aev 6 dart flutter

我是Flutter的新手,但我已经喜欢上它了。问题是:为什么柱子没有展开到最大高度?

代码在gist.github上

屏幕截图

Mak*_* Jr 18

使用CrossAxisAlignment.stretch对我有用:

   Column(
      crossAxisAlignment: CrossAxisAlignment.stretch,
      children: [
          Text("Some title"),
          Text("Address"),
          Text("Description")
      ],
   ),
Run Code Online (Sandbox Code Playgroud)

  • 列上的 CrossAxisAlignment 指的是水平宽度。如果设置 CrossAxisAlignment.stretch,它将从左到右拉伸,而不是从上到下拉伸。 (5认同)

Jon*_*ams 9

小部件是灵活的-它会尽量占用尽可能多的空间,因为它需要但没有更多。如果您希望它占用所有可用空间,则将其包装在“ 扩展”小部件中。

createChildren() {
  return [
    Image.network(
      testImg,
      height: imageSize,
      width: imageSize,
    ),
    Padding(padding: EdgeInsets.only(left: 16.0)),
    Expanded(child:
      Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: [
          boldText("Some title"),
          Text("Address"),
          Text("Description")
        ],
      ),
    ),
  ];
}
Run Code Online (Sandbox Code Playgroud)

  • 仅当“Column”位于另一个“Flex”小部件内时,此功能才有效,因为“Expanded”只能放置在“Flex”小部件内。 (15认同)

Pab*_*rra 6

用一行包装列 MainAxisSize.max

Row(
        mainAxisSize: MainAxisSize.max,
        children: <Widget>[
          Column(
            children: <Widget>[
              _someWidget(),
              _someWidget(),
              _someWidget(),
            ],
          ),
        ],
      )
Run Code Online (Sandbox Code Playgroud)

  • 这对我不起作用。为了让它工作,我必须将嵌套列包装在 Expanded 中。`mainAxisSize` 不是必需的。 (3认同)