用鼠标模拟触摸拖动

Simulate touch drag with mouse

在 flutter 2.2 中,您可以使用鼠标在 ListView 上上下滑动。这就像在触摸屏上用手指滑动一样。然而,在 2.5 版中,这似乎已被删除,现在点击不会像触摸那样做,例如过度滚动 BouncingScrollPhysics(我在我的应用程序中依赖的东西)。

有什么方法可以重新启用模拟功能吗?

在较新的版本中,鼠标拖动功能已在可滚动小部件上被删除,但是您可以通过两种方式启用它。

首先你需要创建这个class:

class MyCustomScrollBehavior extends MaterialScrollBehavior {
  @override
  Set<PointerDeviceKind> get dragDevices => {
    PointerDeviceKind.touch,
    PointerDeviceKind.mouse,
  };
}

然后像这样在您的应用中启用它:

1。仅在一个小部件上启用它

将您的滚动条包裹在 ScrollConfiguration 内并设置 behavior:

ScrollConfiguration(
  behavior: MyCustomScrollBehavior(),
  child: ListView(
    ...
  )
)

2。在应用程序范围内启用它

在您的 MaterialApp 中设置 scrollBehavior:

MaterialApp(
  scrollBehavior: MyCustomScrollBehavior(),
  ...
)

提示: 如果您有多个嵌套的 MaterialApp,则必须对所有嵌套设置 scrollBehavior

Reference