Flutter-在装有其他小部件的屏幕上检测水龙头

问题描述 投票:0回答:2

我正在尝试检测屏幕上的点击。我已经尝试过使用GestureDetector的多种方式,但这只会导致应用程序检测到子元素不是屏幕上的点击。

这里是代码:

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”。

我该怎么做?

我正在尝试检测屏幕上的点击。我已经尝试过使用GestureDetector进行多种变体,但这只会导致应用程序检测子元素而不是屏幕上的点击。这是...

flutter dart widget gesture
2个回答
1
投票

使用GestureDetector's behavior属性并将其传递给HitTestBehavior.opaque,该属性可识别整个屏幕并在您点击屏幕上的任意位置时检测到点击。


0
投票

请使用下面的代码-

© www.soinside.com 2019 - 2024. All rights reserved.