【问题标题】:Flutter GestureDetector onTapRight & ontapLeftFlutter GestureDetector onTapRight & ontapLeft
【发布时间】:2021-07-12 16:22:12
【问题描述】:

我已阅读有关 GestureDetector 的颤振文档,但我只能看到 onTapDown & onTapUp

我相信如果有上下,就会有左右

如何实现 onTapRight 和 onTapLeft

【问题讨论】:

    标签: flutter dart flutter-layout


    【解决方案1】:

    onTapDownonTapUp 不是指您按下的区域/位置,而是指:

    onTapDown:手指实际触摸屏幕的那一刻

    onTapUp:手指离开屏幕的那一刻

    来自文档:

    onTapDown:可能导致点击主按钮的指针已在特定位置接触屏幕。

    onTapUp:将触发带有主按钮的点击的指针已停止 在特定位置接触屏幕

    要实现右击或左击,您可以使用Stack 小部件将row 与2 个手势检测器小部件重叠。

    文档:

    onTapDown GestureTapDownCallback

    【讨论】:

    • 好的,谢谢有没有办法在不使用堆栈的情况下给出小部件的 onTap 位置?我不想使用堆栈。我想要实现的是,如果我点击一个小部件的右侧,它应该执行一个功能
    • 从文档中可以看出(我将在答案中包含它们),onTapDown 调用的函数是 GestureTapDownCallback 类型,它带有 TapDownDetails 参数。它应该包含追踪点击坐标所需的所有信息。
    • 我已经阅读了,但你能帮我看看它的示例代码吗?
    【解决方案2】:

    感谢@L.Gangemi 让我知道了使用什么......

    我通过这个示例代码解决了这个问题

     onTapUp: (details) {
                                          if (details.localPosition.direction >
                                              1.0) {
                                            print('Left');
                                          }
                                          if (details.localPosition.direction <
                                              1.0) {
                                            print('Right');
                                          }
                                        },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-10
      • 1970-01-01
      • 2021-02-24
      • 1970-01-01
      • 2021-02-17
      • 2020-06-05
      • 2021-10-24
      • 2017-10-19
      相关资源
      最近更新 更多