【问题标题】:GestureDedector's onTap event not working for SizedboxGestureDedector 的 onTap 事件不适用于 Sizedbox
【发布时间】:2021-11-03 14:17:20
【问题描述】:

我遇到了 GestureDedector 的 onTap 事件问题。 我也试过卡,但不工作。当我点击 sizedbox 时没有任何反应。

      GestureDetector(
                    onTap: () => GoToPage(),
                    child: SizedBox(
                      child: Card(
                        child: Center(
                            child: Padding(
                          padding: const EdgeInsets.all(8.0),
                          child: Column(
                            children: <Widget>[
                              Image.asset(
                                "assets/png/icon2.png",
                                width: 64.0,
                              ),
                              ...

谢谢。

【问题讨论】:

  • @Nagual sizedbox 有效,stackoverflow 在提问时要求我缩短它。 SizedBox 属性:宽度:146.0,高度:170.0,
  • 你在哪里测试它,网络或电话设备。在网络上,它工作正常。
  • 在移动设备上无法正常工作。甚至 GestureDedector 的属性我都试过了

标签: flutter flutter-layout flutter-test flutter-widget flutter-card


【解决方案1】:

默认情况下,带有不可见子项的 GestureDetector 会忽略触摸,此行为可以通过行为来控制。 https://flutter.dev/docs/development/ui/advanced/gestures

【讨论】:

    【解决方案2】:

    您需要指定 GestureDetector 行为

    GestureDetector(
      behavior: HitTestBehavior.opaque,
      onTap: (){},
    ),
    

    【讨论】:

      【解决方案3】:

      尝试添加GestureDetector的行为属性

      GestureDetector(
        behavior: HitTestBehavior.translucent,
        onTap: (){},
      ),
      

      【讨论】:

        猜你喜欢
        • 2021-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-10
        • 2016-04-01
        • 2017-11-13
        • 1970-01-01
        相关资源
        最近更新 更多