我正在使用 ListView
小部件将项目显示为列表。在窗口三中,查看的项目必须将中间的项目放在中间。
那么如何在滚动停止时检测 ListView
的位置?
如何检测 ListView 滚动停止?
最佳答案
我使用了 NotificationListener
,它是一个小部件,用于监听在树上冒泡的通知。然后使用ScrollEndNotification
,表示滚动已停止。
对于滚动位置,我使用了类型为 ScrollController
的 _scrollController
。
NotificationListener(
child: ListView(
controller: _scrollController,
children: ...
),
onNotification: (t) {
if (t is ScrollEndNotification) {
print(_scrollController.position.pixels);
}
//How many pixels scrolled from pervious frame
print(t.scrollDelta);
//List scroll position
print(t.metrics.pixels);
},
),
关于android - Flutter中如何检测ListView的滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54065354/