首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何准确获取GestureDetector的分接位置

GestureDetector是一个用于处理手势操作的类,它可以识别用户在屏幕上的触摸手势,并触发相应的事件。在Flutter中,GestureDetector可以用于检测各种手势,如点击、双击、长按、拖动等。

要准确获取GestureDetector的触摸位置,可以通过GestureDetector的回调函数来实现。GestureDetector提供了onTapDown、onTapUp、onTap、onDoubleTap、onLongPress等回调函数,这些函数可以获取到手势操作发生的位置信息。

例如,要获取手指按下的位置,可以使用onTapDown回调函数,代码示例如下:

代码语言:txt
复制
GestureDetector(
  onTapDown: (TapDownDetails details) {
    // 获取按下的位置
    Offset position = details.globalPosition;
    // 处理按下的位置
    // ...
  },
  child: Container(
    // GestureDetector的子组件
  ),
)

在onTapDown回调函数中,通过TapDownDetails的globalPosition属性可以获取到手指按下的位置,它是一个Offset类型的对象。你可以根据这个位置信息进行相应的处理,比如根据位置来确定某个操作的起始点。

除了onTapDown之外,还可以使用其他回调函数来获取不同手势操作的位置信息。例如,onTapUp可以获取手指抬起的位置,onDoubleTap可以获取双击操作的位置,onLongPress可以获取长按操作的位置等。

总结起来,要准确获取GestureDetector的触摸位置,可以通过GestureDetector的回调函数来实现,根据不同的手势操作选择相应的回调函数,并通过回调函数的参数获取到位置信息进行处理。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何获取对方IP,查询对方位置

那么对方IP地址该如何搜查得到呢?这样问题你也许会嗤之以鼻,的确,查询对方计算机IP地址,实在简单得不值得一提;可是,要让你列举出多种IP地址搜查方法时,你可能就感到勉为其难了。...下面,本文就对如何快速、准确地搜查出对方好友计算机IP地址,提出如下几种方法,相信能对大家有所帮助!...为方便叙述,本文就以KV2004防火墙为例,来向大家介绍一下如何搜查对方好友IP地址:   考虑到与好友进行QQ聊天是通过UDP协议进行,因此你首先要设置好KV防火墙,让其自动监控UDP端口,一旦发现有数据从...例如,借助一款名为WhereIsIP搜查工具,你可以轻松根据对方好友Web网站地址,搜查得到对方好友IP地址,甚至还能搜查到对方好友所在物理位置。...当然,除了可以知道IP地址外,你还能知道对方好友所在具体物理位置

6.1K30

如何批量获取excel图片并准确命名?

需求 当有一张如下图所示excel表,一列是图片,另一列是图片对应名称(如型号)。如何把里面的图片批量下载下来并按对应列单元格命名呢?...) # 获取文件所在目录 new_path = os.path.join(dir_path, new_name) # 新文件路径 if os.path.exists(new_path...openpyxl_image_loader import SheetImageLoader import tkinter as tk from tkinter import filedialog # 制作获取文件弹窗...名 image_loader = SheetImageLoader(sheet) # 用pd获取图片所在列起止行号list——ls, 此处省略代码 # 用pd获取图片名称所在列list——image_name...k = InputBox("1=列左,2=列右,3=上一行,4=下一行,取消=图片所在单元格或无名称", "选择图片名称位置:", 2) If k = 1 Then r

3.5K20

「类与对象」如何准确获取对象内存大小?

] init]; struct NSObject_IMPL *obj_imp = (__bridge struct NSObject_IMPL *)(obj); // 断点位置...class_getInstanceSize 首先,这是一个runtime提供API,用于获取类实例对象所占用内存大小,返回所占用字节数。...malloc_size 这个函数主要获取系统实际分配内存大小,具体底层实现也可以在源码libmalloc找到,具体如下: size_t malloc_size(const void *ptr) {...理解一点即可,这个函数是获取系统实际分配内存大小。 sizeOf 这个函数大家应该很熟悉,确切讲,这不是一个函数,就是一个操作符,它作用对象是数据类型,主要作用于编译时。...应用 学习了上面获取内存大小工具后,下面这道面试题就能很好回答了。 一个NSObject对象占用多少内存?

4.4K10

保守式 GC 与准确式 GC,如何在堆中找到某个对象具体位置

,那么如何在堆中找到这个对象具体位置呢(也称为对象访问定位)?...经过上面的描述,问题已经简化成如何判断虚拟机栈中数据存是一个引用还是一个基本数据?...GC 与直接指针访问 与保守式 GC 相对就是准确式 GC,何为准确式 GC?...就是我们准确知道,某个位置上面是否是指针,对于 Java 来说,就是知道内存中某个位置数据具体是什么类型,譬如内存中有一个 32 bit 整数 123456,虚拟机将有能力分辨出它到底是一个指向了...这就是使用句柄访问,显然它多了一次间接查找开销 所谓准确式 GC 就是虚拟机准确知道内存中某个位置数据具体是什么类型,具体实现方式就是使用一个映射表 OopMap 记录下类型信息,虚拟机栈中存储直接就是对象地址

96440

如何获取目标基因转录因子(上)——Biomart下载基因和motif位置信息

科研过程中我们经常会使用Ensembl(http://asia.ensembl.org/index.html) 网站来获取物种参考基因组,其中BioMart工具可以获取物种基因注释信息,以及跨数据库...在参考基因组和基因注释文件一文中有详细介绍如何在Ensembel数据库中获取参考基因组和基因注释文件。(点击蓝字即可阅读) 生信分析中,想要找到感兴趣基因转录因子结合位点,该怎么做呢? 1....文件准备 首先需要准备以下3个文件,后面两个文件可以在ensembl网站中下载: 感兴趣基因名称列表(1列基因名即可) 基因组中各基因位置信息列表(6列bed文件) 基因组中各转录因子结合位点信息列表...ID Gene name Strand 染色体名称(例如chr3) Gene起始位点 Gene终止位点 Gene stable ID Gene name 定义基因所在链方向,+或- 注:起始位置和终止位置以...将上述下载两个文件分别命名为 GRCh38.gene.bed和 GRCh38.TFmotif_binding.bed ,在Shell中查看一下: 基因组中每个基因所在染色体、位置和链信息,以及对应

8.3K40

《Flutter》-- 7.事件处理

在Flutter原始指针事件模型中,在手指接触屏幕发起触摸事件时,Flutter会首先确定手指与屏幕发生接触位置上究竟有哪些组件,然后通过命中测试(Hit Test)交给最内层组件去响应。...在Flutter事件模型中PointerEvent是Flutter原始指针事件基础类,可以用它获取当前指针一些信息: 1)position:全局坐标的偏移量; 2)delta:两次指针移动事件距离...,它值类型为HitTestBehavior,是一个枚举类型,有3个枚举值: 1)deferToChild:子组件一个一个地进行命中测试,如果子组件中有通过命中测试,则当前组件会收到指针事件,并且其父组件会收到指针事件...可以使用GestureDetector组件onScaleUpdate实现缩放效果。...GestureDetector是一个抽象类,有多个实现子类,通常一种手势识别器即对应一个GestureDetector实现类。

1.8K30

【Flutter】Flutter 手势交互 ( 跟随手指运动小球 )

0; 小球位置 : 小球是在 Stack 帧布局中 Positioned 组件 , 其 left 和 top 字段值设置其坐标 , 分别对应 currentX 和 currentY 值 ; //...小球 Positioned( /// 当前位置 left: currentX, top: currentY, ) 监听事件 : 监听 GestureDetector 组件 onPanUpdate...移动距离 , 该距离需要与之前距离累加 , 才能得到准确坐标值 ; 在回调方法中调用 setState 方法 , 修改成员变量 currentX 和 currentY , 从而修改 Positioned...组件位置 , 以达到小球移动目的 ; /// 手势检测组件 child: GestureDetector( /// 移动操作 onPanUpdate: (e){ setState(...: GestureDetector( /// 移动操作 onPanUpdate: (e){ setState(() { // e 中只能获取到 delta 值

46300

Flutter | 超简单仿微信QQ侧滑菜单组件

首先可以滑出菜单 最基本,菜单要能滑出来,我们思考一下,如何能在屏幕外面放置 Widget,并且还能滑动?...基本上不到一钟,相信大家都能想出来答案:ScrollView,没错,也就只有 ScrollView 满足我们需求。...SizedBox( width: screenWidth, child: child, ), 1.首先把 ScrollView 滑动位置改为横向2.把滑动效果改为 ClampingScrollPhysics...菜单点击回调 这里有个小问题:把 Menu 单独封装成了一个组件,那如何在点击 menu 时候把 menu 收回去?...其实对于这种效果,我们仔细想一钟,几乎都能想出来解决方案。而且实现起来也很简单。 本来想封装成一个 ListView ,后来感觉没什么必要,单独封装成一个 Item 也足够用了。

2.2K32

Android学习第七弹之手势操作

触摸,手势操作已经很好融入了我们生活,那在Android开发中如何进行手势识别呢?下面我们就来讲讲。 什么是手势呢?...手势就是用户对手机屏幕进行连续触碰,比如:从屏幕左边滑到手机右边,从屏幕上面滑动到屏幕下面等等,手势可以是一笔,也可以是多笔,可以形成规则或不规则图形。 手势是如何识别的呢?...AndroidSDK提供了对手势识别、自定义手势、存取手势、手势库中査询手势相关类/ 口,提供了android.view.GestureDetector包用于检测用户手势。...与手势相关类和接口 手势操作一般用到下面的三个类: android.view.GestureDetector 手势操作识别类,通过他来使用下面的识别接口,该类在andmid.view.GestureDetector...方法中,将Touch事件传递给gestureDetector对象onTouchEvent方法进行手势判定。

89060

Android中View位置和触摸事件详解

本文Demo都是在自定义View中进行,文末有下载链接 View位置参数 MotionEvent屏幕触摸事件 GestureDetector手势检测(单击,双击,长摁,滑动) 二、View位置参数...,典型事件如下: ACTION_DOWN–手指刚触摸屏幕 ACTION_MOVE–手指在屏幕上移动 ACTION_UP–手指从屏幕上分开一瞬间 2、MotionEvent获取点击事件发生坐标 getX...1、辅助检测用户单击、滑动、长按、双击等行为 2、如何使用: 创建一个GestureDetector对象并实现OnGestureListener接口,根据需要实现OnDoubleTapListener...Log.i(TAG, "onDoubleTapEvent: 表示发生双击行为"); return true; } }; 五、使用translation属性实现view跟随手指移动 实现方式:获取到当前手指按下位置...,移动时要减去上次手指滑动位置,然后在加上偏移量 存在问题:OnClick方法貌似没法用了哦,大概是因为在onTouchEvent方法中拦截了吧 改进:我觉得可以用GestureDetector对象来实现

1.5K51

Flutter 侧滑栏及城市选择UI实现方法

, onPanUp 未监听到手势抬起,解决方法:换用onPanCancel,onVerticalDragEnd方法监听 updateLabel,获取具体选中Labelindex 公式为 index =...dy / widgetHeight * labelList.length,其中dy 为 以控件起始点y位置偏移量,widgetHeight为高度, labelList.length为Label长度...) { index++; cityList.add(new CityModel(value)); } ; }); } } 联动处理 当滑动SliderBar时,应将城市列表滑到对应位置...key回传,并使用CityListUtils里存储mapKey找到对应首字母索引,计算出ListView应该滑动偏移量 遇到问题 计算偏移量不准,导致滑动不能准确定位到首字母索引上。...原因:item 使用 Container布局 高度未限制,手动获取高度不准确 解决方法:使用固定item高度

2K31

UI调试小工具——颜色吸管

获取当前屏幕颜色 选取指定位置 颜色输出 1. 获取所有像素点颜色 如何获取当前屏幕所有像素点颜色呢,挨个组件去取不太现实。我们可以曲线救国,对当前屏幕截屏,截到内容就是正在显示颜色。...获取指定像素点颜色 我们如何获得指定像素点颜色呢,当然是用手选了,想看哪里点哪里,最为方便。这个实现起来也很简单。...那么有了图片所有像素颜色值,有了图片偏移量,如何获取指定偏移量位置颜色值呢?这里就需要用到一个著名图片处理库 image (https://pub.dev/packages/image)。...放大效果两步走: 3.1 获得放大指定位置图片矩阵 这个很好理解,我们将上一阶段截屏得到图片用 GestureDetector 包裹,在 onPanUpdate 时,取到对应位置坐标,然后对截图进行矩阵变换...在后面我们获取到设备触摸点时,触摸点位置是以物理尺寸为准,所以去取图片也要将该 pix 值应用进去。 4.3 矩阵变换 此例中,我们要做是放大图片指定位置

1.2K20

Android自定义控件仿ios下拉回弹效果

) 4.在computeScroll()里面完成实际滚动 在开始具体实现之前,先得介绍几个要用到比较重要函数 mScroller.getCurrX() //获取mScroller当前水平滚动位置...mScroller.getCurrY() //获取mScroller当前竖直滚动位置 mScroller.getFinalX() //获取mScroller最终停止水平位置 mScroller.getFinalY...() //获取mScroller最终停止竖直位置 mScroller.setFinalX(int newX) //设置mScroller最终停留水平位置,没有动画效果,直接跳到目标位置 mScroller.setFinalY...(int newY) //设置mScroller最终停留竖直位置,没有动画效果,直接跳到目标位置 //滚动,startX, startY为开始滚动位置,dx,dy为滚动偏移量, duration...,所以GestureDetector.OnGestureListener中部分方法不会响应,还有在GestureDetector.OnGestureListener中要将down事件返回值设为true

85830

Android开发艺术笔记 | View事件体系

明白View这种层级关系有助于理解View工作机制。 View位置参数 Android坐标系:以屏幕左上角为坐标原点,向右为x轴增大方向,向下为y轴增大方向。...根据上图, 可以得出View宽高和坐标的关系: width = right - left height = bottom - top 关于如何得到View这四个参数, 在View...注意, View在平移过程中, top和left表示是原始左上角位置信息,其值并不会发生改变!!!...速度计算可以用如下公式来表示: 速度=(终点位置-起点位置)/时间段 computeCurrentVelocity()方法参数表示是 一个时间单元或者说时间间隔,单位是毫秒(ms), 计算速度时得到速度...实际开发中, 可以不使用GestureDetector, 可以自己在ViewonTouchEvent方法中实现所需监听,看个人喜好。

61330

详解Android View事件体系 之View基础(二)

前言 掌握View事件体系是Android 向高级迈向必经之路,本片博客讲解Android View相关基础知识第二部,后面我们会为大家讲解View事件体系、View事件分发等知识内容。...View相关知识第一部https://blog.csdn.net/huangliniqng/article/details/83933241 1.View基础 1.1 手势检测GestureDetector...首先我们看一下官方API对GestureDetector介绍: ?...= new GestureDetector(this); 初始化gestureDetector,在ViewOnTouchEvent事件中,交给gestureDetector来处理即,gestureDetector.onTouchEvent...1.2 VelocityTracker        翻译过来就是追踪速度,可以判断滑动速度以及单击速度,首先我们获取VelocityTracker对象velocityTracker = VelocityTracker.obtain

55430

高仿京东金融数值滚动尺

xValue,getHeight()-shortCursor,linePaint); } } } 在drawBaseView()方法里,也很简单,就是在二之一宽度...接着在drawBaseView(Canvas canvas)方法里 首先用当前值(currentValue)-最小值(minValue)之后再除于最小单位值(minUnitValue)以获取整数刻度个数...因为有余数情况,我们再当前值(currentValue)-最小值(minValue)之后求余与最小单位值(minUnitValue)以获取余数 接着我们要获取我们画图X轴开始位置,因为最小值只能滑到中间...,所以开始位置为控件一半宽度(getWidth()/2) 减去计算每个刻度间距(marginWidth)乘以整数刻度个数(integerWidth)即marginWidth*integerWidth...img.PNG 接着我们用GestureDetector绑定手势事件,根据回调手势事件方法来改变数据和刷新页面,在GestureDetector里,我们只会回调public boolean onScroll

47730
领券