我有一个类似 Instagram 的应用程序,顶部有故事,然后提供数据。我希望我的提要列表视图滚动到函数的顶部(即单击按钮或其他)。
ScrollController _feedController;
@override
void initState() {
_feedController = new ScrollController();
_feedController.addListener(() {
print("scrolling");
});
_fetchData();
super.initState();
}
// This is in the build function.
return ListView.builder(
padding: EdgeInsets.all(0.0),
shrinkWrap: true,
controller: _feedController,
physics: ClampingScrollPhysics(),
itemCount: _listFeed.length,
itemBuilder: (BuildContext context, int index) {
return ProductWidget(
product: _listFeed[index],
navigateOnImage: true,
);
},
);
// This function should scroll the list view to the top.
refresh() {
_fetchData();
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
_feedController.animateTo(
0.0,
duration: Duration(milliseconds: 300),
curve: Curves.easeOut,
);
});
print("home screen refreshed");
}
我在 initState() 上初始化我的控制器并添加了一个监听器。侦听器和控制器的 animateTo() 函数都不起作用。我也尝试过使用 WidgetsBinding.instance.addPostFrameCallback()。我错过了什么.. ??