Недавно я понял, как реализовать вкладки в SliverAppBar.Но теперь у меня проблема, что мне нужно получить SliverStaggeredGrid как дочерний элемент в TabBarView ...
Вот мой код (упрощенно):
Widget build(BuildContext context) {
return FutureBuilder(
future: widget._future,
builder:
((context, AsyncSnapshot<List<DocumentSnapshot>> snapshotPosts) {
return CustomScrollView(
slivers: <Widget>[
SliverAppBar(
bottom: TabBar(
tabs: [
Tab(text: 'Tab 1'),
Tab(text: 'Tab 2'),
],
controller: controller,
),
title: Text("Test")),
SliverFillRemaining(
child: TabBarView(
controller: controller,
children: <Widget>[
buildGrid(snapshotPosts),
Center(child: Text("Tab two")),
],
),
),
],
);
}));
}
buildGrid(AsyncSnapshot<List<DocumentSnapshot>> snapshot) {
return SliverStaggeredGrid.countBuilder(
crossAxisCount: 3,
itemCount: snapshot.data.length,
itemBuilder: ((BuildContext context, int index) {
return ListTile(
title: Text(snapshot.data[index].toString()),
);
}
// Your desired amount of children he
),
staggeredTileBuilder: (int index) => new StaggeredTile.fit(1),
mainAxisSpacing: 6.0,
crossAxisSpacing: 6.0,
);
}
Как я могу реализовать buildGrid как дочерний элемент моего TabBarView?
Есть идеи?Спасибо!