我想检测CustomScrollView
我所做的拖动的垂直端是这样的:
GestureDetector(
onVerticalDragEnd: (details) {}
child: CustomScrollView(...)
);
但它不起作用,这两个小部件似乎有冲突,我正在寻找解决这个问题的方法
我想检测CustomScrollView
我所做的拖动的垂直端是这样的:
GestureDetector(
onVerticalDragEnd: (details) {}
child: CustomScrollView(...)
);
但它不起作用,这两个小部件似乎有冲突,我正在寻找解决这个问题的方法
使用 aGestureDetector
不是正确的方法,这是一种在您停止拖动滚动视图时触发方法的方法:
class MyWidget extends StatelessWidget {
_onEndScroll(ScrollMetrics metrics) {
print('Stopped Dragging');
}
@override
Widget build(BuildContext context) {
return NotificationListener<ScrollNotification>(
onNotification: (scrollNotification) {
if (scrollNotification is ScrollEndNotification) {
_onEndScroll(scrollNotification.metrics);
}
return false;
},
child: SingleChildScrollView(
child: Column(children: <Widget>[
...List<Widget>.generate(
100,
(index) => ListTile(title: Text(index.toString())),
)
])),
);
}
}
只需将滚动视图包装在一个NotificationListener
小部件中,您就可以从滚动视图中获取任何通知,并且您只需要根据通知的类型来管理您的操作。(我false
在结束时返回onNotification
以继续收听即将到来的通知。)