`

MotionEvent的getX(),getY()与getRawX(),getRawY()区别

 
阅读更多

MotionEvent的getX(),getY()与getRawX(),getRawY()区别

总结:
如果你的某个Activity中实现OnTouchListener接口,需要重写onTouch(View view,MotionEvent event)这个方法,getRawX()和getRawY()获得的是相对屏幕的位置,getX()和getY()获得的永远是相对view的触摸位置坐标(这两个值不会超过view的长度和宽度)。

RawX,RawY 相对于屏幕位置坐标
X,Y 相对于容器的位置坐标
分享到:
评论

相关推荐

    Android MotionEvent中getX()和getRawX()的区别实例详解

    在ACTION_MOVE部分,我们分别用`getX()`和`getRawX()`获取了触摸点相对于按钮和屏幕的X坐标,以及`getY()`和`getRawY()`获取了相应的Y坐标,并将这些值记录在日志中。 通过查看日志输出,我们可以直观地看到`getX()...

    Android开发中MotionEvent坐标获取方法分析

    本篇文章将深入探讨在Android中如何通过MotionEvent获取屏幕坐标的方法,特别是`getX()`和`getRawX()`的区别。 `getX()`方法用于获取手指触摸点相对于当前处理事件的View的X坐标。这意味着,如果用户在一个按钮...

    android_view_MotionEvent.rar_float

    1. `getX(int pointerIndex)`和`getY(int pointerIndex)`:返回指定触点在屏幕上的X和Y坐标,坐标系原点位于屏幕左上角。 2. `getRawX()`和`getRawY()`:返回相对于设备屏幕的X和Y坐标,不受父视图的滚动或缩放影响...

    Android 图片任意移动效果

    因此,我们需要使用`View.getX()`和`View.getY()`获取视图的当前位置,然后使用`MotionEvent.getRawX()`和`MotionEvent.getRawY()`获取手指在屏幕上的位置,再减去视图左上角相对于屏幕的位置,得到相对于视图的坐标...

    Android事件分发机制(上) ViewGroup的事件分发

    开发者可以通过getRawX和getRawY获取事件相对于屏幕的坐标,而getX和getY则返回相对于当前View的坐标。 在事件分发过程中,有三个核心方法: 1. **dispatchTouchEvent(MotionEvent ev)**:这是每个View都会调用的...

    Android应用 坐标系详细介绍

    例如,当用户触摸屏幕时,可以使用`getX()` 和 `getY()` 获取触点相对于当前View的位置,`getRawX()` 和 `getRawY()` 则提供触点相对于屏幕的全局位置。 4. 自定义控件与坐标系 自定义View时,理解坐标系至关重要...

    简述Android触摸屏手势识别

    此外,`MotionEvent`对象提供了丰富的信息,如事件类型(ACTION_DOWN、ACTION_UP等)、坐标(`getRawX()`、`getRawY()`、`getX()`、`getY()`)以及压力、倾斜度等,这些信息可以用于实现更精细的手势识别,如双击、...

    Android应用源码之触摸轨迹曲线.zip

    可以使用`View.getX()`和`View.getY()`方法获取View的左上角位置,然后用`event.getRawX()`和`event.getRawY()`获取原始触摸坐标,进行相减得到相对坐标。 6. 动画效果: 为了使轨迹曲线更流畅,可以添加平滑动画...

    触屏手势识别程序

    通过分析`MotionEvent`的坐标属性(`getRawX()`、`getRawY()`、`getX()`和`getY()`),开发者可以跟踪手指在屏幕上的移动,实现拖动、滑动等操作。例如,可以检测用户是否在做水平滑动,这在滚动视图或翻页时非常...

    android获取屏幕,状态栏,标题栏宽高

    这两种坐标系统之间的区别在于:`getX()`和`getY()`返回的是相对于父视图的位置;而`getRawX()`和`getRawY()`返回的是相对于整个屏幕的位置。 #### 五、获取按钮位置 最后,我们来看看如何获取一个特定视图(如...

    Android 坐标系与视图坐标系图解分析

    MotionEvent 提供的 getX()、getY()、getRawX()、getRawY() 等方法,用于获取点击位置的相对坐标。 通过这篇文章,我们可以了解到 Android 坐标系和视图坐标系的概念和实现原理,并且了解到 Android 中提供的各种...

    深入浅析Android坐标系统

    - **相对坐标**:`MotionEvent`对象提供了触摸事件的坐标信息,`getX()`和`getY()`返回的是事件相对于当前View的位置,而`getRawX()`和`getRawY()`则是相对于整个屏幕的坐标。 3. **触摸事件处理** 当用户在屏幕...

    Android随意拖动控件视图

    因此,我们需要将屏幕坐标转换为相对布局的坐标,使用`View.getLocationOnScreen()`和`View.getX()`、`View.getY()`方法获取原始位置,`MotionEvent.getRawX()`和`MotionEvent.getRawY()`获取手指的当前位置。...

    图片缩放和移动

    当用户触摸屏幕时,我们可以通过getRawX()和getRawY()获取触点的原始坐标,然后根据这些坐标更新Matrix: ```java float dx = event.getX() - lastX; float dy = event.getY() - lastY; matrix.postTranslate(dx, ...

    自定义view滑动1

    - 在处理触摸事件时,`MotionEvent`的`getX()`和`getY()`返回的是相对于View本身的坐标,`getRawX()`和`getRawY()`则是相对于屏幕的绝对坐标。 总结来说,选择哪种滑动方法取决于具体需求。scollTo和scrollBy适合...

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

    getRawX – 相对于屏幕左上角的坐标 getRawY 3.TouchSlop 滑动最小距离: 滑动小于这个常量,系统将不会认为这是滑动(常量为 8dp,使用时系统会自动转为 px) 获取方式:ViewConfiguration.get(getContext())....

    Android悬浮窗,悬浮图标

    在Android系统中,悬浮窗(通常称为...通过熟练掌握这些技术,开发者可以为用户提供更丰富的交互体验,增强应用的实用性与趣味性。在实际开发中,还需要根据具体需求进行定制和优化,确保悬浮窗功能既美观又实用。

    Android中实现滑动的七种方式总结

    Android提供了多种方法来获取坐标,例如`getX()`和`getY()`返回的是视图坐标,`getRawX()`和`getRawY()`则返回绝对坐标,即相对于屏幕的坐标。 1. **布局方法(layout方法)**:在`View`绘制过程中,`onLayout()`...

    Android SpringAnimation弹性动画解析

    dX = view.getX() - event.getRawX(); dY = view.getY() - event.getRawY(); // ... case MotionEvent.ACTION_MOVE: xAnimation.setFinalValue(event.getRawX() + dX); yAnimation.setFinalValue(event....

Global site tag (gtag.js) - Google Analytics