保留来自祖先的控件,使其在Flutter中展开

问题描述 投票:0回答:1

如何防止RaisedButton展开以填充包含它的Expanded?我想创建三列宽度与可用空间成比例的宽度,但是我希望每一列中的子元素为它的自然大小,而不消耗其父元素Expanded的整个宽度。

  Widget _controls(BuildContext cx) {
    return Row(
      children: [
        Expanded(
          flex: 1,
          child: player.isOnFirstItem
              ? Container()
              : IconButton(
                  icon: Icon(Icons.arrow_back),
                  onPressed: () => control.gotoPreviousItem(),
                ),
        ),
        Expanded(
          flex: 4,
          child: player.isComplete()
              ? Text(player.currentItem.status) // I'll be adding more here
              : RaisedButton(
                  child: Text(player.currentItem.actionText),
                  onPressed: () => player.currentItem.action(),
                ),
        ),
        Expanded(
          flex: 1,
          child: player.isOnLastItem
              ? Container()
              : IconButton(
                  icon: Icon(Icons.arrow_forward),
                  onPressed: () => player.gotoNextItem(),
                ),
        ),
      ],
    );

当我将其进一步嵌套在RaisedButton中时,[Container也会填充弹性空间。我无法弄清楚哪些属性可以防止这种情况。

[寻找答案,似乎每个人都在尝试相反的事情。

如何防止RaisedButton展开以填充包含它的Expanded?我想创建三列宽度与可用空间成比例的宽度,但是我希望每列中的子对象都... ...>

flutter flutter-layout
1个回答
1
投票

看看Expanded的文档怎么说:

扩展行,列或Flex子级的小部件,小孩填满了可用空间。

© www.soinside.com 2019 - 2024. All rights reserved.