我正在尝试检测屏幕上的点击。我尝试过使用的多种变体GestureDetector
但这只会导致应用程序检测到点击子元素 and 不是屏幕.
这是代码:
class QQHome extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
primaryColor: Colors.blueGrey,
),
home: Scaffold(
appBar: AppBar(
centerTitle: true,
title: Text('QuoteQuota'),
),
body: GestureDetector(
onTap: () => print('Tapped'),
child: QQBody(),
),
),
);
}
}
class QQBody extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Center(
child: Text(
'Hello, World!'
),
);
}
}
输出:当我单击“Hello, World!”时打印“tapped”。
预期输出:当我单击屏幕上文本位于中心的任意位置时,将打印“tapped”。
我该怎么做呢?
Use GestureDetector's
behavior
财产和通行证HitTestBehavior.opaque
它可以识别整个屏幕并在您点击屏幕上的任意位置时检测到点击。
body: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () => print('Tapped'),
child: QQBody(),
),
希望这能回答您的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)