当滚动时,我正在尝试使用消失的Appbar构建帖子(例如Instagram)的供稿。这是我的代码:
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.pink[100]
),
body: postImagesWidget()
);
}
Widget postImagesWidget() {
return
FutureBuilder(
future: _future,
builder: ((context, AsyncSnapshot<List<DocumentSnapshot>> snapshot) {
return LiquidPullToRefresh(
onRefresh: _refresh, // refresh callback
child: ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: ((context, index) =>
SinglePost(
list: snapshot.data,
index: index,
followingUser: followingUser,
currentUser: currentUser,
fetch: fetchFeed,
)))
);
}),
);}
如您所见,我目前正在使用普通的AppBar和用于创建帖子的Listview.builder。我听说了 SliverAppBar 并试图在我的设置中实现它,但是无法使其与ListView.builder一起使用。
关于如何删除滚动条上的AppBar的任何建议或想法?
最诚挚的问候。
答案 0 :(得分:-1)
FLutter具有一个名为SliverAppBar的小部件。正是您想要的!
到SliverAppBar的文档链接: Flutter Docs - SliverAppBar
我很抱歉,我在忙碌的一天;)。 Sliver是一种不同类型的小部件,它们只是与其他SliverWidget(这不是规则)相关,例如在学校哈利集团。好吧,下面我写了一些带有注释的代码,您可以在DartPad中尝试。
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.dark().copyWith(scaffoldBackgroundColor: darkBlue),
debugShowCheckedModeBanner: false,
// Your code starts here
home: Scaffold(
// NestedScrollView to hold a Body Widget (your list) and a SliverAppBar.
body: NestedScrollView(
// SingleChildScrollView to not getting overflow warning
body: SingleChildScrollView(child: Container() /* Your listview goes here */),
// SliverAppBar goes inside here
headerSliverBuilder: (context, isOk) {
return <Widget>[
SliverAppBar(
expandedHeight: 150.0,
flexibleSpace: const FlexibleSpaceBar(
title: Text('Available seats'),
),
actions: <Widget>[
IconButton(
icon: const Icon(Icons.add_circle),
tooltip: 'Add new entry',
onPressed: () { /* ... */ },
),
]
)
];
}),
),
);
}
}