gpt4 book ai didi

listview - Flutter:当 GestureDetector 中有一个 ListView 时,它显然没有收到 Drag 事件

转载 作者:IT王子 更新时间:2023-10-29 06:54:37 24 4
gpt4 key购买 nike

我错过了什么吗?文档说事件从最里面的 child 冒泡到祖先,但下面的代码不会打印“拖”到控制台。它确实打印“点击”。将 NeverScrollablePhyscs 应用于 ListView 确实有效,但我想在两个级别上收听事件。将 HitTestBehavior.translucent 应用到 GestureDetector 不会改变任何东西。

import "package:flutter/material.dart";

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}

class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: GestureDetector(
onVerticalDragUpdate: (DragUpdateDetails details) {
print("dragged");
},
onTap: () {
print("tapped");
},
child: ListView.builder(
itemBuilder: (context, index) {
return Container(
padding: EdgeInsets.all(20.0),
child: Text(
"The GestureDetector above me does not react to drag events. Maybe my parent is at fault?"
)
);
},
)
)
);
}
}

最佳答案

您可以使用Listener 来监听原始指针事件

      return Scaffold(
body: Listener(onPointerMove: (opm) {
print("onPointerMove .. ${opm.position}");
}, child: ListView.builder(
itemBuilder: (context, index) {
return Container(
padding: EdgeInsets.all(20.0),
child: Text(
"The GestureDetector above me does not react to drag events. Maybe my parent is at fault?"));
},
)));

关于listview - Flutter:当 GestureDetector 中有一个 ListView 时,它显然没有收到 Drag 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52910339/

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