Flutter 在CustomScrollView颤振中检测DragEnd?

Flutter 在CustomScrollView颤振中检测DragEnd?,flutter,gesturedetector,customscrollview,Flutter,Gesturedetector,Customscrollview,我想检测CustomScrollView拖动的垂直端,我所做的是这样的: GestureDetector( onVerticalDragEnd: (details) {} child: CustomScrollView(...) ); 但它不起作用,这两个小部件似乎有冲突,我正在寻找解决此问题的方法使用手势检测器不是正确的方法,以下是停止拖动滚动视图时触发方法的一种方法: 类MyWidget扩展了无状态Widget{ _onEndScroll(滚动度量){ 打印(“停止拖动”); }

我想检测
CustomScrollView
拖动的垂直端,我所做的是这样的:

GestureDetector(
  onVerticalDragEnd: (details) {}
  child: CustomScrollView(...)
);

但它不起作用,这两个小部件似乎有冲突,我正在寻找解决此问题的方法

使用
手势检测器
不是正确的方法,以下是停止拖动滚动视图时触发方法的一种方法:

类MyWidget扩展了无状态Widget{
_onEndScroll(滚动度量){
打印(“停止拖动”);
}
@凌驾
小部件构建(构建上下文){
返回通知侦听器(
onNotification:(滚动通知){
如果(scrollNotification是ScrollEndNotification){
_onEndScroll(scrollNotification.metrics);
}
返回false;
},
子:SingleChildScrollView(
子项:列(子项:[
…List.generate(
100,
(index)=>ListTile(标题:Text(index.toString()),
)
])),
);
}
}
只需将滚动视图包装在
NotificationListener
小部件中,您就可以从滚动视图中获取任何通知,并且只需根据通知的类型管理您的操作。(我在
onNotification
的末尾返回
false
,以继续收听即将到来的通知。)


是的,我以前试过,但它有问题,首先我无法检测速度,除非滚动结束,其次我想调用scrollcontroller.animateTo()in _onEndScroll,但不知何故无法完成,似乎我必须更新我的问题或删除它是的,你应该用这些细节创建另一个问题,因为它们不是第一手提到的。为了让我删除这个,我想你也必须删除你的答案