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

如何获得与整个屏幕对应的屏幕坐标,而不是触摸的视图?

要获得与整个屏幕对应的屏幕坐标,而不是触摸的视图,可以使用以下方法:

  1. 在 Android 中,可以使用 View.getLocationOnScreen() 方法获取视图在屏幕上的位置,然后将触摸事件的坐标与视图的位置相加即可得到与整个屏幕对应的坐标。
  2. 在 iOS 中,可以使用 UITapGestureRecognizerUIPanGestureRecognizer 等手势识别器,获取触摸事件的位置,然后将触摸事件的坐标与视图的位置相加即可得到与整个屏幕对应的坐标。
  3. 在 Web 开发中,可以使用 event.clientXevent.clientY 获取触摸事件的坐标,然后将其与视图的位置相加即可得到与整个屏幕对应的坐标。

以下是一个简单的示例代码:

代码语言:java
复制
// Android 示例代码
@Override
public boolean onTouchEvent(MotionEvent event) {
    int[] location = new int[2];
    getLocationOnScreen(location);
    int x = (int) event.getX() + location[0];
    int y = (int) event.getY() + location[1];
    // 处理触摸事件
    return true;
}
代码语言:swift
复制
// iOS 示例代码
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    let touch = touches.first!
    let location = touch.location(in: self.view)
    let screenLocation = touch.location(in: nil)
    // 处理触摸事件
}
代码语言:javascript
复制
// Web 开发示例代码
document.addEventListener('click', function(event) {
    var x = event.clientX + document.documentElement.scrollLeft;
    var y = event.clientY + document.documentElement.scrollTop;
    // 处理点击事件
});

请注意,以上示例代码仅供参考,实际应用中可能需要根据具体情况进行调整。

相关搜索:图像的像素坐标基于手指触摸的图像,而不是屏幕如何获得与屏幕分辨率无关的地图坐标如何添加覆盖单个组件的背景,例如纸张而不是整个屏幕如何使用Selenium Webdriver捕获特定元素的屏幕截图,而不是整个页面?如何修复环绕屏幕的列而不是贴合如何在flutter项目中针对特定的屏幕而不是所有的屏幕应用localizationsDelegates?如何在Javascript中获得相对于页面而不是相对于屏幕的鼠标坐标?iOS safari添加到我的角度网络应用程序图标的主屏幕来作为屏幕截图,而不是苹果触摸图标我有两个大的组件/屏幕,在链接按下元素后,我希望整个屏幕加载新的组件,而不是重新加载XCode (Bug?)(SwiftUI):我的视图来自屏幕的边缘,而不是缩放和改变它们所在的位置如何将图像显示在屏幕的中心而不是相对位置?当在Android中切换到NightMode时,如何动画整个屏幕的颜色(所有可见的视图/布局)?如何确保flutter中图像的url不会显示在屏幕上而不是图像上?如何在tab导航器的屏幕之间传递数据,当按下第一个屏幕中的按钮时,而不是路由到第二个屏幕?如何让AVFoundation预览视图占据SwiftUI中的所有屏幕,而忽略安全区域?如何将图像放在屏幕的中心,而不是在抖动中没有边距/填充?如何在HTML/CSS中将iframe视点设置为一个屏幕的自动大小,而不是另一个屏幕的自动大小使用PhilJay / MPAndroidChart,我如何截取整个图表的屏幕截图,而不仅仅是可见的部分?需要在特定的UIView中显示视频录制屏幕,而不是在iOS中出现完整的视图控制器问题如何获得与浏览器视图匹配的带换行符的文本,而不是html源代码(使用python和漂亮汤)
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

(转载非原创)Android系统编程入门系列之界面Activity交互响应

界面内交互 界面响应 说到界面交互,很容易想到用户在设备屏幕触摸操作。可是屏幕那么大要怎么确定用户触摸位置呢?...该规则将屏幕左上角作为屏幕坐标的原点,从左上角往右上角延伸方向作为屏幕坐标的x轴,从左上角往左下角延伸方向作为屏幕坐标的y轴。...比如针对一款 1024x512 尺寸TV设备,其左下角屏幕坐标值为 (0, 512),右下角屏幕坐标值为 (1024, 512),右上角屏幕坐标值为 (1024, 0),左上角屏幕坐标值为 (...对屏幕触摸位置有了衡量标准,是不是就可以根据不同位置做触摸操作了呢?说到触摸操作,也需要细化之后单独处理。Android系统将用户操作行为,大致分为三种:按下行为,滑动行为,抬起释放行为。...另外,不同系统视图也可能有单独设置响应方法,或者自定义视图也会提供单独响应方法,例如列表视图某一行数据被单独点击后如何响应,这些都要根据具体视图类查找并使用对应响应方法,这里不再赘述。

41600
  • Android自定义系列——14.MotionEvent

    和以下几个方法: 方法 简介 getAction() 获取事件类型。 getX() 获得触摸点在当前 View X 轴坐标。 getY() 获得触摸点在当前 View Y 轴坐标。...getRawX() 获得触摸点在整个屏幕 X 轴坐标。 getRawY() 获得触摸点在整个屏幕 Y 轴坐标。...ACTION_OUTSIDE 如果初始点击位置在该视图区域之外,该视图根本不可能会收到事件,然而,万事万物都不是绝对,肯定还有一些特殊情况,你可曾还记得点击 Dialog 区域外关闭吗?...Dialog 就是一个特殊视图(没有占满屏幕大小窗口),能够接收到视图区域外事件(虽然在通常情况下你根本用不到这个事件),除了 Dialog 之外,你最可能看到这个事件场景是悬浮窗,当然啦,想要接收到视图之外事件需要一些特殊设置...Android 在 2.0 版本时候开始支持多点触控,一旦出现了多点触控,很多东西就突然之间变得麻烦起来了,首先要解决问题就是 多个手指同时按在屏幕上,会产生很多事件,这些事件该如何区分呢?

    1.7K10

    iOS Programming – 触摸事件处理(2)

    iOS Programming – 触摸事件处理(2) 在上一篇《iOS Programming – 触摸事件处理(1)》中了解触摸、事件和响应者之后,接下去学习如何处理用户触摸事件。...首先触摸对象是视图视图类UIView继承了UIRespnder类,但是要对事件作出处理,还需要重写UIResponder类中定义事件处理函数。...对于这4个方法,都有两个相同参数:NSSet类型touches和UIEvent类型event。其中touches表示触摸产生所有UITouch对象,event表示特定事件。...因为UIEvent包含了整个触摸过程中所有的触摸对象,因此可以调用allTouches方法获取该事件内所有的触摸对象,也可以调用touchesForVIew:或者touchesForWindows:取出特定视图或者窗口上触摸对象...下面举个例子创建可以拖动视图,这个主要通过触摸对象位置坐标来实现。因此调用触摸对象locationInView:方法即可。

    91270

    touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event使用

    iOSProgramming – 触摸事件处理(2) 在上一篇《iOS Programming – 触摸事件处理(1)》中了解触摸、事件和响应者之后,接下去学习如何处理用户触摸事件。...首先触摸对象是视图视图类UIView继承了UIRespnder类,但是要对事件作出处理,还需要重写UIResponder类中定义事件处理函数。...对于这4个方法,都有两个相同参数:NSSet类型touches和UIEvent类型event。其中touches表示触摸产生所有UITouch对象,event表示特定事件。...因为UIEvent包含了整个触摸过程中所有的触摸对象,因此可以调用allTouches方法获取该事件内所有的触摸对象,也可以调用touchesForVIew:或者touchesForWindows:取出特定视图或者窗口上触摸对象...下面举个例子创建可以拖动视图,这个主要通过触摸对象位置坐标来实现。因此调用触摸对象locationInView:方法即可。

    54720

    Android Scroll分析

    所以要实现View滑动,必须要监听用户触摸事件,并根据事件传入坐标,动态且不断改变View坐标,从而实现View跟随用户触摸滑动滑动。...和Android坐标系类似,视图坐标系同样是以原点方向向右为X轴正方向,以原点向下为Y轴正方向,只是这个原点不再是Android坐标系中屏幕左上角,而是父视图左上角为坐标原点。 ?...getY():获取点击事件距离控件顶边距离,即视图坐标 getRawX():获取点击事件距离整个屏幕左边距离,即绝对坐标 getRawY():获取点击事件距离整个屏幕顶边距离,即绝对坐标...总体来讲,scrollTo scrollBy方法,子View移动都是瞬间,在事件执行时候平移已经完成了,Scroller类可以实现平滑移动效果,不是在瞬间完成移动。...演示: 子View随着手指滑动滑动,在手指离开屏幕时,让子View平滑移动到初始位置,即屏幕左上角。

    80220

    iOS-UITouch事件处理详解1. iOS中事件基本介绍2.UITouch3.UIEvent4. 事件产生和传递5. 通过UITouch方法监听View触摸事件缺点

    UITouch创建 当用户用一根手指触摸屏幕时,会创建一个与手指相关联UITouch对象,一根手指对应一个UITouch对象。 2....UITouch常用方法 - (CGPoint)locationInView:(UIView *)view; //返回值表示触摸在view上位置 //这里返回位置是针对view坐标(以view...,通常,先发送事件给应用程序主窗口(keyWindow) 主窗口会在视图层次结构中找到一个最合适视图来处理触摸事件,这也是整个事件处理过程第一步 找到合适视图控件后,就会调用视图控件touches...方法来作具体事件处理 4.2 那么主窗口如何找到最合适控件来处理事件?...4.4 触摸事件处理详细过程(响应者链传递过程) 用户点击屏幕后产生一个触摸事件,经过一系列传递过程后,会找到最合适视图控件来处理这个事件 找到最合适视图控件后,就会调用控件touches

    1.6K60

    史上最详细iOS之事件传递和响应机制-原理篇

    我们只能通过子类继承父类,重写子类方法方式处理UIView触摸事件(注意:我说是UIView触摸事件不是 UIViewController触摸事件)。...触摸事件,不是处理 UIViewController触摸事件。...主窗口会在视图层次结构中找到一个最合适视图来处理触摸事件,这也是整个事件处理过程第一步。 找到合适视图控件后,就会调用视图控件touches方法来作具体事件处理。...3.3.2.练习 屏幕上现在有一个viewA,viewA有一个subView叫做viewB,要求触摸viewB时,viewB会响应事件,触摸viewA本身,不会响应该事件。如何实现?...也不能处理该事件或消息,则将其丢弃 事件处理整个流程总结:   1.触摸屏幕产生触摸事件后,触摸事件会被添加到由UIApplication管理事件队列中(即,首先接收到事件是UIApplication

    11K70

    CALayer寄宿图

    一个视图就是在屏幕上显示一个矩阵块(比如图片、文字或者视频),它能够拦截点击以及触摸手势等用户输入。视图在层级关系中可以相互嵌套,一个视图可以管理他所有所有子视图位置。...在iOS当中,所有的视图都是从一个叫做UIView基类派生而来,UIView可以处理触摸事件,支持基于CoreGraphics绘图,可以做仿射变换(例如旋转或缩放),或者简单滑动以及渐变动画。...和bounds、frame不同,contentsRect不是按点来计算,而是使用单位坐标,单位坐标指定在0到1之间,是一个相对值(像素和点都是绝对值),所以contentsRect是相对于寄宿图尺寸而言...iOS用点作为屏幕坐标测算体系,就是为了在Retina屏幕和普通设备上能有一直视觉效果。 像素——物理像素坐标并不会用于屏幕布局,但是仍然与图片有相对关系。...单位——单位坐标实际就是一个比例坐标。 contentsRect默认值是{0,0,1,1},它表示是,从寄宿图像素尺寸原点(0,0)开始,分别截取宽、高1倍长度,其实就是展示整个寄宿图。

    1K20

    iOS面试题:事件传递和响应机制

    事件产生 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理事件队列中,为什么是队列不是栈?...主窗口会在视图层次结构中找到一个最合适视图来处理触摸事件,这也是整个事件处理过程第一步。 找到合适视图控件后,就会调用视图控件touches方法来作具体事件处理。 2....事件响应 4.1 触摸事件处理整体过程 1 用户点击屏幕后产生一个触摸事件,经过一系列传递过程后,会找到最合适视图控件来处理这个事件 2 找到最合适视图控件后,就会调用控件touches方法来作具体事件处理...如何判断上一个响应者 1 如果当前这个view是控制器view,那么控制器就是上一个响应者 2 如果当前这个view不是控制器view,那么父控件就是上一个响应者 响应者链事件传递过程 1 如果当前...总结 事件处理整个流程总结: 1.触摸屏幕产生触摸事件后,触摸事件会被添加到由UIApplication管理事件队列中(即,首先接收到事件是UIApplication)。

    1.2K10

    自定义View进阶路:绘制饼图

    前言 首先,附上效果图,方便大家一眼可以查看是不是自己想要~ ? 大家看到效果了吧,要实现这个效果也不难,最重要一点就是心中有数,那么如何做到心中有数呢?...如上图,一个简易效果,饼图位于屏幕中间,那么我们该如何绘制呢? 确定绘制起点,也就是确定饼图中心点; ? 大家知道,默认坐标系位于屏幕左上角,分别X,Y轴,移动之后,坐标系便位于屏幕中间。...关于如何移动,我们下面将进行撸码说明。 计算外接矩形距屏幕左上右下; ? 计算外接矩形,也就是计算移动到屏幕中心。而我们就是要计算扇形组成圆形外接矩形左上右下距离。...将点击坐标位置转化为以饼状图中心为原点坐标,对坐标进行处理,之后将坐标转化为点击角度,判断是否处于某一个饼状图所在角度区域 接下来我们开始获取当前视图左边缘、上边缘以及圆心坐标。...xy坐标对应角度。

    70720

    AndroidFixScrollView自定义控件

    为什么我们说是“该系列事件”,不是说“该事件”呢?注意,View事件体系中,从down->move->……->move->up。...一开始思路是切换tab页面的话其他tab页面Listview控件可见状态会不可见或者消失,完全不是这么回事,后来发现其实View视图状态一直是可见,不过那时候技术老大提醒说点击不同tab时listview...所在屏幕位置发生变化通过x值可以区分也就是要坐标系中坐标,判断当前view“屏幕可见”一定是0<x<screenwidth(屏幕宽度),后面直接想用输出打印View位置坐标,发现各种相似的方法,...但是都不是整个屏幕坐标。...group.getChildAt(i); if (child instanceof ScrollView) { //获取view在整个屏幕坐标如果

    1.8K80

    touchesBegan 触摸事件

    不是任何对象都能处理事件,只有继承了UIResponder对象才能接收并处理事件。...,通过forin循环来遍历NSSet中每一个元素,当用户用一根手指触摸屏幕时,会创建一个与手指相关联UITouch对象, 保存着跟本次手指触摸相关信息,比如触摸位置、时间、阶段, 当手指离开屏幕时...; 5)获取当前触摸事件所处状态 触摸事件在屏幕上有一个周期,即触摸开始、触摸点移动、触摸结束,还有中途取消。...类 UIEvent:成为事件对象,记录产生时刻和类型,事件对象中包含于当前多点触摸序列相对应所有触摸对象,还可以提供与特定视图或窗口相关联触摸对象。...]; //返回触摸点所在视图坐标 CGPoint point = [touch locationInView:[touch view]]; NSLog(@"point--x:

    80220

    Android OpenGL开发实践 - 基于OpenGL ES 2.0Android相机实时图片涂鸦实现思路

    首先讨论坐标转换,引入画布之后,现在相关坐标系又多了一个画布坐标系,手指在屏幕触摸之后,如何让图案最终在触摸位置画出来呢?...手指在屏幕触摸之后,onTouchEvent()中所得到坐标屏幕坐标系中坐标相机有一个预览宽高设置,这个宽高可以和屏幕宽高不一样,比如1080*1920屏幕,相机预览宽高可以设置为720...*960,因此第一个坐标转换就是将屏幕坐标系中触摸坐标转换成与相机预览宽高相对应坐标,相机预览坐标系原点及x、y轴方向与屏幕坐标系相同: ?...继续沿用之前例子,前面是得到了触摸点在相机预览画面中坐标是(200,400),它如何对应到涂鸦画面上面呢?...现在可以将手指在屏幕触摸时在onTouchEvent()回调中所得到触摸坐标正确地转换成涂鸦画布中坐标了,那么如何对应坐标点画涂鸦图案呢?

    7.1K130

    touchesBegan 触摸事件一、概念介绍二、方法介绍三、参数介绍:touches四、参数介绍:event

    ,通过forin循环来遍历NSSet中每一个元素 当用户用一根手指触摸屏幕时,会创建一个与手指相关联UITouch对象, 保存着跟本次手指触摸相关信息,比如触摸位置、时间、阶段, 当手指离开屏幕时...,系统会销毁相应UITouch对象 属性: (1)获取触摸产生时所处窗口 @property(nonatomic,readonly,retain) UIWindow *window; (2)获取触摸产生时所处视图...timestamp; (5)获取当前触摸事件所处状态 触摸事件在屏幕上有一个周期,即触摸开始、触摸点移动、触摸结束,还有中途取消。...,readonly) CGFloat maximumPossibleForce; 方法: (1)返回当前触摸点在view上位置 这里返回位置是针对view坐标(以view左上角为原点(0,...view; 四、参数介绍:event UIEvent:称为事件对象,记录事件产生时刻和类型,事件对象中包含与当前多点触摸序列相对应所有触摸对象,还可以提供与特定视图或窗口相关联触摸对象。

    2.5K100

    iOS可视化动态绘制连通图(Swift版)

    下方这段代码上一部分就是我们定义一个闭包类型,用来将节点View触摸事件回调给父视图。该闭包类型需要传一个参数,该参数就是当前ViewTag, 这样父视图就知道当前用户拖动是哪个节点了。...下方这段就是节点ViewTouchesMoved事件,在该事件中我们获取到当前用户触摸移动坐标点,然后将该点赋值给当前节点ViewCenter,然后调用更新父视图闭包回调对象即可。...我们整个关系是存储在邻接矩阵中,所以我们要对邻接矩阵进行创建,在重绘时要对该邻接矩阵进行初始化。...然后判断移动时是不是超出屏幕范围,如果超出屏幕范围我们就要对运动方向进行修正,让其往反方向进行移动。本部分我们只需要修改节点View,节点View视图不做修改。...在修改x和y坐标的值时要判断是否超出屏幕边距,如果超出屏幕边界就往反方向移动。为了让点一直运动下去,我们需要不断调用changePoint()方法,如下所示。

    1.4K70

    WPF 已知问题 开启 WM_Pointer 消息之后 获取副屏触摸数据坐标偏移

    GetIntermediateTouchPoints 方法获取触摸点时,将会发现所获取触摸坐标是偏,偏坐标差值刚好是整个屏幕距离 此问题由 少珺 小伙伴发现且修复,我只是代为记录工具人 此问题已经报告给...通过 GetStylusPoint 或 GetIntermediateTouchPoints 等方法获取触摸点信息时,可以看到触摸点信息存在偏差,偏差坐标差值刚好是整个屏幕距离,也就是差了 N 个屏幕距离...运行程序,将程序主窗口移动到副屏上,对应用程序进行触摸 此时你将会发现应用程序无法绘制出你所画出笔迹。...且所偏差坐标差值刚好是整个屏幕距离,如果刚好你两个屏幕虚拟尺寸(非物理尺寸)是一样大,那这个偏差就更好看出来了,如下图 问题原因: 此问题是在 WPF 框架中 HwndPointerInputProvider.cs...在 HwndPointerInputProvider GetOriginOffsetsLogical 方法里面,没有考虑多屏幕坐标系问题,只是计算了当前窗口所在屏幕坐标,没有考虑应该计算整个虚拟屏幕坐标

    29010

    Android应用坐标系统全面详解

    同时也可以看见上图中给出了手指触摸屏幕时MotionEvent提供一些方法解释,如下: MotionEvent坐标方法 解释 getX() 当前触摸事件距离当前View左边距离 getY() 当前触摸事件距离当前...View顶边距离 getRawX() 当前触摸事件距离整个屏幕左边距离 getRawY() 当前触摸事件距离整个屏幕顶边距离 上面就解释了你在很多代码中看见各种getXXX方法进行数学逻辑运算判断含义...()是用于滑动View中内容,不是改变View位置;改变View在屏幕位置可以使用offsetLeftAndRight()和offsetTopAndBottom()方法,他会导致getLeft...如果这里自定义不是布局,只是一个控件的话,就可以通过以上方法获取到坐标,然后要求自己所在布局去重绘这一区域就可以了。... getRawX():获取点击事件相对整个屏幕左边x轴坐标,即点击事件距离整个屏幕左边距离  getRawY():获取点击事件相对整个屏幕顶边y轴坐标,即点击事件距离整个屏幕顶边距离 这些方法可以用在什么地方呢

    1.3K10

    如何响应用户交互事件

    手势操作在Flutter中分为两类: 第一类是原始指针事件(Pointer Event),即原生开发中常见触摸事件,表示屏幕触摸(或鼠标、手写笔)行为触发位移行为。...指针事件 指针事件表示用户交互原始触摸数据,如手指接触屏幕 PointerDownEvent、手指在屏幕上移动 PointerMoveEvent、手指抬起 PointerUpEvent,以及触摸取消...在手指接触屏幕,接触事件发起时,Flutter会确定手指与屏幕发生接触位置上究竟有哪些组件,并将触摸事件交给最内层组件去响应。事件会从这个最内层组件开始,沿着组件树向根节点向上分发。...Flutter无法取消或停止事件进一步分发,我们只能通过hitTestBehavior去调整组件在命中测试期内应该如何表现,比如把触摸事件交给子组件或者交给其视图层级之下组件去响应。...Stack 组件去叠加视图,便于直接控制视图坐标 children: [ Positioned( top: _top, left: _left,

    2.2K10

    今日小物件推荐

    当手指按压到对应区块时,区块 就会传出对应比例电压,控制器接收到电压后再 将其翻译成坐标信息。...接收波形对应手指挡住部位信号衰减了一个缺口,计算缺口位置即得触摸坐标 控制器分析到接收信号衰减并由缺口位置判定X坐标之后Y轴同样过程判定出触摸Y坐标除了一般触摸屏都能响应XY坐标外,表面声波触摸屏还响应第三轴...MTK电阻式四线触摸屏原理 触摸屏附着在显示器表面,与显示器相配合使用,如果能测量出触摸点在屏幕坐标位置,则可根据显示屏上对应坐标显示内容或图符获知触摸意图。...,总电流量变化和四个分电流量变化是非线性关系,电容触摸屏采用这种四个角自定义极坐标系还没有坐标原点,漂移后控制器不能察觉和恢复,而且,4个A/D完成后,由四个分流量值到触摸点在直角坐标系上...: 智能手机触摸工作原理是如何 我们每天都在使用触摸电子设备,比如手机、平板电脑。

    94220
    领券