foo*_*ist 7 listview nested gesturedetector flutter
我错过了什么吗?文档说事件从最里面的孩子冒泡到祖先,但下面的代码不会打印“拖动”到控制台。不过,它确实打印了“点击”。将 NeverScrollablePhyiscs 应用于 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?"
)
);
},
)
)
);
}
}
Run Code Online (Sandbox Code Playgroud)
die*_*per 10
您可以使用以下方法侦听原始指针事件 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?"));
},
)));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3598 次 |
最近记录: |