Flutter- GestureDetector 检测水平和垂直拖动的方向

2024-05-22

我在用GestureDetector并没有找到任何onXYZ告诉您拖动方向的事件。


你试过了吗onPanUpdate(details)方法?以下是您可以如何做到这一点。

GestureDetector(
  onPanUpdate: (details) {
    if (details.delta.dx > 0)
      print("Dragging in +X direction");
    else
      print("Dragging in -X direction");
    
    if (details.delta.dy > 0)
      print("Dragging in +Y direction");
    else
      print("Dragging in -Y direction");
  },
  child: Container(
    color: Colors.blue,
    width: double.infinity,
    height: double.infinity,
  ),
)

注意:如果出现以下情况,此回调会导致崩溃onHorizontalDragUpdate() or onVerticalDragUpdate()正如 anmol.majhail 所提到的,也提供了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flutter- GestureDetector 检测水平和垂直拖动的方向 的相关文章

随机推荐

  • 在 for 循环比较中使用集合大小

    Java 中 Collections 的 size 方法是否有编译器优化 考虑以下代码 for int i 0 i
  • 根据列中的部分字符串匹配选择数据框行

    我想根据列中字符串的部分匹配从数据框中选择行 例如列 x 包含字符串 hsa 使用sqldf if它有一个like语法 我会做类似的事情 select from lt gt where x like hsa 很遗憾 sqldf不支持该语法
  • 小于或等于

    使用暂停命令我发现错误位于此代码的第一行 if choice 1 if energy gt m2enc set a enemhp enemhp m1hpd earmr pause set a energy energy m1enc set
  • 给定文档,选择相关片段

    当我在这里提出问题时 自动搜索返回的问题的工具提示给出了问题的前一点 但其中相当一部分没有给出任何比理解问题更有用的文本 标题 有谁知道如何制作一个过滤器来删除问题中无用的部分 我的第一个想法是修剪仅包含某个列表中的单词的任何前导句子 例如
  • CLion - 命令行程序参数

    当我分配给 运行 调试配置 程序参数 之类的 aaa bbb 然后打印它时 任何人都可以告诉我 JetBrains CLion 有什么问题吗 printf s n argv 1 我刚刚得到 aaa 而它必须是 aaa bbb 因为它们用双引
  • 从 npm 脚本运行时,eslint 不会报告任何错误

    我已经使用 npm init eslint config 安装了带有 typescript 的 eslint 然后将 lint 脚本添加到我的 package json 中 但是当我运行 npm script lint npm run li
  • 无法将 /root/.rnd 加载到 RNG 中

    我想使用 Windows Open SSL 生成服务器证书 当我运行此命令行时 出现此错误 我应该怎么办 Command openssl req new x509 days 3650 key ca key out ca crt Error
  • jQuery:动态添加 DOM 元素时尝试将函数挂钩到 onclick,但它立即执行该函数

    我正在使用 jQuery 动态 我的意思是在运行时 向页面的 DOM 添加一个 span 元素 create add task button document createElement span attr id activityNameH
  • Android Espresso - 如果未选中,请单击复选框

    I have onView withId R id check box perform click 但我只想在尚未选中该复选框时执行此操作 我怎样才能在浓缩咖啡中做到这一点 我还想根据其之前的状态来切换复选框 开关 起初 我尝试用此方法打开
  • Ruby:如何编写 gem? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想为 Ruby 编写一个包并将其作为 gem 提供 有哪些工具 步骤和陷阱 有没有好的教程 截屏视频等
  • 迁移现有的 Spring Websocket 处理程序以使用 rsocket

    假设我有一个用于聊天消息的简单 Websocket 处理程序 Override public Mono
  • 为什么处置/关闭 WCF 客户端代理很重要

    我听说即使在以下情况下也必须处置 或关闭 WCF 客户端代理 你没有使用会话 没有需要确定性清理的非托管资源 例如打开的套接字 例如 当使用具有默认绑定配置的 BasicHttpBinding 时 即使在流行的网页中也应该没问题 对吧 va
  • Gulp 不会看到任何变化

    我正在绞尽脑汁 但似乎无法弄清楚下面的 gulpfile 有什么问题 它只是监视和编译 less 文件 这根本不会少看变化 我已经尝试了所有gulp gulp watch 每次更改后我都必须手动运行 gulp 来编译它们 是否有什么问题导致
  • 重载 std::bitset 的移位运算符

    我想使用移位运算符进行位旋转instead他们的实际位移 这是我的预期行为 std bitset lt 8 gt b8 1010 b8 00001010 b8 lt lt 5 b8 01000001 所以我尝试超载 lt lt 运算符 引用
  • Robot Framework - 访客界面 - 如何获取关键字的子关键字?

    实施机器人后套件访客界面 https robot framework readthedocs io en 3 0 autodoc robot model html robot model visitor SuiteVisitor功能def
  • 非图形三向合并工具

    我目前使用 RCS 的合并命令进行 3 路合并 但有一件事一直让我烦恼 如果我使用 A选项 两个文件中所做的相同更改显示为冲突 lt lt lt lt lt lt lt file1 file1 line 1 orig orig line 1
  • 服务、控制器、提供者命名约定

    随着我职业生涯的成长 我认为命名约定非常重要 我注意到人们乱扔控制器 LibraryController 服务 LibraryService 和提供者 LibraryProvider并在某种程度上可以互换使用它们 使用其中一种与另一种有什么
  • SpringMVC - Hibernate:java.base/[Ljava.lang.Object;无法投射到

    组 java package com keating model import com fasterxml jackson databind annotation JsonSerialize import org hibernate ann
  • 以编程方式生成渐变?

    给定 2 个 RGB 颜色和一个矩形区域 我想在颜色之间生成基本的线性渐变 我进行了快速搜索 我唯一能找到的是这个博客条目 http jtauber com blog 2008 05 18 creating gradients progra
  • Flutter- GestureDetector 检测水平和垂直拖动的方向

    我在用GestureDetector并没有找到任何onXYZ告诉您拖动方向的事件 你试过了吗onPanUpdate details 方法 以下是您可以如何做到这一点 GestureDetector onPanUpdate details i