用鼠标模拟触摸拖动
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
。
在 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
。