gpt4 book ai didi

flutter - 如何在 Flutter MacOS 中为 ListView 禁用拖动滚动但保持鼠标滚轮滚动?

转载 作者:行者123 更新时间:2023-12-03 18:13:51 29 4
gpt4 key购买 nike

因此,当我在 physics: const NeverScrollableScrollPhysics() 上设置 ListView.builder 时,它​​也会禁用鼠标滚轮滚动。有没有办法保持鼠标滚轮但禁用拖动?
谢谢

最佳答案

您可以使用 Listener 小部件来监视 ListView 上发生的拖动事件,并使用附加到该 ListViewScrollController 手动将 ListView 滚动到所需的偏移量。
这是一个示例代码:

Listener(
onPointerSignal: (ps) {
if (ps is PointerScrollEvent) {
_controller.animateTo(ps.position.dy,
duration: Duration(milliseconds: 500),
curve: Curves.linear);
}
},
child: ListView.builder(
itemCount: 100,
controller: _controller,
physics: NeverScrollableScrollPhysics(),
itemBuilder: (BuildContext context, int index) {
return Container(
height: 100,
margin: EdgeInsets.all(10),
color: index.isEven ? Colors.blue : Colors.green);
}))
这是一个 link 到一个工作演示(你可能需要玩监听器事件才能使滚动完美,这只是一个例子)

关于flutter - 如何在 Flutter MacOS 中为 ListView 禁用拖动滚动但保持鼠标滚轮滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62494042/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com