AppBar中的扩展小部件

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

我有一个应用栏,我想要标题,然后旁边有一个凸起的按钮,可以展开以填充剩余的水平空间。我试过这个变种:

AppBar(
  title: Row(
    children: [
      Text("Select view"),
      // the row that follows is because it says Expanded widgets
      // should be put directly in Row or Column or Flex
      Padding(padding: EdgeInsets.only(left: 12.0), child: Row(children: [ 
        Expanded(child: RaisedButton(
          child: Text("view 1"),
          onPressed: () {
            // something
          },
        ),),
      ])),
    ]
  ),
);

为此,我收到以下错误:

I / flutter(26477):在performLayout()期间抛出以下断言:

I / flutter(26477):_ToolbarLayout自定义multichild布局委托忘记布置以下子项:

I / flutter(26477):_ ToolbarSlot.middle:RenderSemanticsAnnotations#6d937 NEEDS-LAYOUT NEEDS-PAINT

I / flutter(26477):_ ToolbarSlot.middle:RenderSemanticsAnnotations#7fcd5 NEEDS-LAYOUT NEEDS-PAINT

I / flutter(26477):_ ToolbarSlot.middle:RenderSemanticsAnnotations#f9a7a NEEDS-LAYOUT NEEDS-PAINT

I / flutter(26477):_ ToolbarSlot.middle:RenderSemanticsAnnotations#ce1f2 NEEDS-LAYOUT NEEDS-PAINT

I / flutter(26477):每个孩子必须布置一次。

我尝试过的每一件事也都抛出了一些断言异常。我真的不在乎我是怎么做的,我只想要两个小部件 - 标题和旁边的RaisedButton填充应用栏中的其余空间。

flutter flutter-layout
1个回答
1
投票

只需删除包含RaisedButton的行

 appBar: AppBar(
          title: Row(children: [
            Text("Select view"),
            Expanded(
              child: RaisedButton(
                child: Text("view 1"),
                onPressed: () {
                  // something
                },
              ),
            ),
          ]),
        ),
© www.soinside.com 2019 - 2024. All rights reserved.