AppBar中的扩展小部件

时间:2019-03-09 15:07:28

标签: flutter flutter-layout

我有一个应用栏,想要显示标题,然后在其旁边有一个凸起的按钮,可以扩展以填充剩余的水平空间。我尝试了这种变化:

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自定义多子级布局委托忘记布置以下子级:

     

I / flutter(26477):_ToolbarSlot.middle:RenderSemanticsAnnotations#6d937需要布局需要油漆

     

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,它可以填充应用栏中的其余空间。

1 个答案:

答案 0 :(得分:1)

只需删除包含RaisedButton

的行
 appBar: AppBar(
          title: Row(children: [
            Text("Select view"),
            Expanded(
              child: RaisedButton(
                child: Text("view 1"),
                onPressed: () {
                  // something
                },
              ),
            ),
          ]),
        ),