我正在开发一个用于网络的颤振应用程序,当我在小部件(不是滚动小部件)内滚动鼠标滚轮时,我试图执行回调方法。
我知道这个MouseRegion小部件,并且使用 aListener作为它的子部件我可以检测onPointerSignal事件。Listener当 的子级是可滚动小部件(例如 )时,此方法可以正常工作ListView,但如果此小部件不可滚动,则此方法不起作用。
我理想地希望拥有一个类似于 的小部件GestureDetector,其回调方法类似于onPanStart、onPanUpdate和onPanEnd,但发生在鼠标滚轮事件上(或者以同样的方式发生在笔记本电脑上的触控板滚动事件上)。
有人知道我怎样才能实现这个目标吗?
hac*_*024 11
Listener不需要任何父母。可以使用如下所示的小部件,它将其子部件包装在 a 中,并在收到Listenera 时调用给定的回调:PointerScrollEvent
class ScrollDetector extends StatelessWidget {
final void Function(PointerScrollEvent event) onPointerScroll;
final Widget child;
const ScrollDetector({
Key key,
@required this.onPointerScroll,
@required this.child,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Listener(
onPointerSignal: (pointerSignal) {
if (pointerSignal is PointerScrollEvent) onPointerScroll(pointerSignal);
},
child: child,
);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5246 次 |
| 最近记录: |