我基本上希望在页面中间有一个选项卡式导航。
为此,我在嵌套的滚动视图中使用了一个slivarappbar。
我的SliVerAppBar是由我的TabView组成的,我把我的TabView包装在一个SliVerAppBar中以便使用固定的:真正的礼节。
return Scaffold(
appBar: AppBar(
title: Text('Title'),
),
body: NestedScrollView(
headerSliverBuilder: (BuildContext context, bool boxIsScrolled) {
return <Widget>[
SliverToBoxAdapter(
child: Container(
height: 500,
color: Colors.red,
)),
SliverAppBar(
pinned: true,
bottom: TabBar(
tabs: <Widget>[
Tab(
text: "Home",
icon: Icon(Icons.home),
),
Tab(
text: "Example page",
icon: Icon(Icons.help),
)
],
controller: _tabController,
)),
];
},
body: TabBarView(
children: <Widget>[
PageExample(),
PageExample(),
],
controller: _tabController,
),
),
);
这是一个技巧,我的问题是我想隐藏/移除这个包裹我的Tabbar的SliVerAppBar:
最佳答案
我需要将ExpandedHeight设置为0:
返回脚手架(
应用程序栏:应用程序栏(
标题:文本(“标题”),
),
正文:嵌套滚动视图(
headerSliverBuilder: (BuildContext context, bool boxIsScrolled) {
return <Widget>[
SliverToBoxAdapter(
child: Container(
height: 500,
color: Colors.red,
)),
SliverAppBar(
expandedHeight: 0,
pinned: true,
bottom: TabBar(
tabs: <Widget>[
Tab(
text: "Home",
icon: Icon(Icons.home),
),
Tab(
text: "Example page",
icon: Icon(Icons.help),
)
],
controller: _tabController,
)),
];
},
body: TabBarView(
children: <Widget>[
PageExample(),
PageExample(),
],
controller: _tabController,
),
),
);
关于flutter - 如何仅在SilverAppBar中显示TabView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54526161/