在支架主体中显示TabBar

时间:2019-09-25 19:21:07

标签: flutter dart flutter-layout

我想显示一个与应用栏一起使用的标签栏,但要在支架主体的中间。有可能吗?

我有这段代码,但是TabBarView破坏了ui。如果我评论TabBarView,则TabBars将正确显示。代码有什么问题?如果有可能以这种方式使用它。.

if let root = self.navigationController?.viewControllers.first as? RootVC {
    root.sendData(data)
}

2 个答案:

答案 0 :(得分:0)

只需将ListView更改为Column并添加SingleChildScrollView

SingleChildScrollView(
      child: Column(
        children: <Widget>[]
    ),
)

答案 1 :(得分:0)

嘿,我想这已经太晚了,但也许它可以帮助其他人。 如果您只想拥有您的标签栏,例如在屏幕中间将您的屏幕分成 2 个部分(顶部:内容,底部:标签栏),您可以将脚手架放在一列内,例如以下:

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Expanded(
          flex: 1,
          child: Center(
            child: Text("Header"),
          ),
        ),
        Expanded(
          flex: 1,
          child: DefaultTabController(
            length: 3,
            child: Scaffold(
              appBar: AppBar(
                flexibleSpace: TabBar(
                  tabs: [
                    Tab(text: "First"),
                    Tab(text: "Second"),
                    Tab(text: "Third"),
                  ],
                ),
              ),
              body: TabBarView(
                children: [
                  Center(child: Text("First screen")),
                  Center(child: Text("Second screen")),
                  Center(child: Text("Third screen")),
                ],
              ),
            ),
          ),
        ),
      ],
    );
  }

How it looks on Android

让我知道这是否符合您的需求/如果您需要进一步的帮助:-)