[b]先看getX(),getY()源码解释
/**
* {@link #getX(int)} for the first pointer index (may be an
* arbitrary pointer identifier).
*
* @see #AXIS_X
*/
public final float getX() {
return nativeGetAxisValue(mNativePtr, AXIS_X, 0, HISTORY_CURRENT);
}
/**
* {@link #getY(int)} for the first pointer index (may be an
* arbitrary pointer identifier).
*
* @see #AXIS_Y
*/
public final float getY() {
return nativeGetAxisValue(mNativePtr, AXIS_Y, 0, HISTORY_CURRENT);
}
这个是相对于view的坐标距离
[b]再看GetRawX(),getRawY()源码解释
/**
* Returns the original raw X coordinate of this event. For touch
* events on the screen, this is the original location of the event
* on the screen, before it had been adjusted for the containing window
* and views.
*
* @see getX()
* @see #AXIS_X
*/
public final float getRawX() {
return nativeGetRawAxisValue(mNativePtr, AXIS_X, 0, HISTORY_CURRENT);
}
/**
* Returns the original raw Y coordinate of this event. For touch
* events on the screen, this is the original location of the event
* on the screen, before it had been adjusted for the containing window
* and views.
*
* @see getY()
* @see #AXIS_Y
*/
public final float getRawY() {
return nativeGetRawAxisValue(mNativePtr, AXIS_Y, 0, HISTORY_CURRENT);
}[/b]
从字面上可以大致看到是相对于设备屏幕。
详细参见图片
- 大小: 14 KB
分享到:
相关推荐
在ACTION_MOVE部分,我们分别用`getX()`和`getRawX()`获取了触摸点相对于按钮和屏幕的X坐标,以及`getY()`和`getRawY()`获取了相应的Y坐标,并将这些值记录在日志中。 通过查看日志输出,我们可以直观地看到`getX()...
主要分析更新view的实现过程:实现触摸事件监听,重写onTouch()方法,在ActionDown时,利用getRawX和getRawY得到x1、y1,在ActionMove时,利用getX和getY获取移动过程的x2、y2,两者作差后作为更新的view对应的xy...
本篇文章将深入探讨在Android中如何通过MotionEvent获取屏幕坐标的方法,特别是`getX()`和`getRawX()`的区别。 `getX()`方法用于获取手指触摸点相对于当前处理事件的View的X坐标。这意味着,如果用户在一个按钮...
"Android 坐标系与视图坐标系图解分析" Android 坐标系是指 Android 中的屏幕坐标系,原点位于屏幕的左上角顶点,从原点向右是 X 轴的正方向,从原点向下是 Y 轴的正方向。 Android 坐标系是 Android 中的绝对坐标...
例如,当用户触摸屏幕时,可以使用`getX()` 和 `getY()` 获取触点相对于当前View的位置,`getRawX()` 和 `getRawY()` 则提供触点相对于屏幕的全局位置。 4. 自定义控件与坐标系 自定义View时,理解坐标系至关重要...
因此,我们需要使用`View.getX()`和`View.getY()`获取视图的当前位置,然后使用`MotionEvent.getRawX()`和`MotionEvent.getRawY()`获取手指在屏幕上的位置,再减去视图左上角相对于屏幕的位置,得到相对于视图的坐标...
因此,我们需要将屏幕坐标转换为相对布局的坐标,使用`View.getLocationOnScreen()`和`View.getX()`、`View.getY()`方法获取原始位置,`MotionEvent.getRawX()`和`MotionEvent.getRawY()`获取手指的当前位置。...
开发者可以通过getRawX和getRawY获取事件相对于屏幕的坐标,而getX和getY则返回相对于当前View的坐标。 在事件分发过程中,有三个核心方法: 1. **dispatchTouchEvent(MotionEvent ev)**:这是每个View都会调用的...
- **相对坐标**:`MotionEvent`对象提供了触摸事件的坐标信息,`getX()`和`getY()`返回的是事件相对于当前View的位置,而`getRawX()`和`getRawY()`则是相对于整个屏幕的坐标。 3. **触摸事件处理** 当用户在屏幕...
1. `getX(int pointerIndex)`和`getY(int pointerIndex)`:返回指定触点在屏幕上的X和Y坐标,坐标系原点位于屏幕左上角。 2. `getRawX()`和`getRawY()`:返回相对于设备屏幕的X和Y坐标,不受父视图的滚动或缩放影响...
可以使用`View.getX()`和`View.getY()`方法获取View的左上角位置,然后用`event.getRawX()`和`event.getRawY()`获取原始触摸坐标,进行相减得到相对坐标。 6. 动画效果: 为了使轨迹曲线更流畅,可以添加平滑动画...
在Android开发过程中,有时我们需要精确地了解设备屏幕的具体尺寸,包括状态栏和标题栏的高度等信息。这对于实现自适应布局、全屏显示等功能至关重要。本文将详细介绍如何在Android应用中获取这些关键尺寸数据。 ##...
在Android系统中,悬浮窗(通常称为“悬浮图标”或“浮动小部件”)是一种能够独立于当前应用程序并在屏幕上方持续显示的小型窗口。这种功能常用于即时通讯应用、音乐播放器、桌面小部件等,为用户提供便捷的操作...
此外,`MotionEvent`对象提供了丰富的信息,如事件类型(ACTION_DOWN、ACTION_UP等)、坐标(`getRawX()`、`getRawY()`、`getX()`、`getY()`)以及压力、倾斜度等,这些信息可以用于实现更精细的手势识别,如双击、...
Android中View位置和触摸事件详解 在 Android 开发中,View 的位置和触摸事件是非常重要的概念,对于理解 Android 中的控件布局和事件处理非常关键。下面将对 View 的位置参数和触摸事件进行详细的介绍。 一、View...
当用户触摸屏幕时,我们可以通过getRawX()和getRawY()获取触点的原始坐标,然后根据这些坐标更新Matrix: ```java float dx = event.getX() - lastX; float dy = event.getY() - lastY; matrix.postTranslate(dx, ...
Android提供了多种方法来获取坐标,例如`getX()`和`getY()`返回的是视图坐标,`getRawX()`和`getRawY()`则返回绝对坐标,即相对于屏幕的坐标。 1. **布局方法(layout方法)**:在`View`绘制过程中,`onLayout()`...
通过分析`MotionEvent`的坐标属性(`getRawX()`、`getRawY()`、`getX()`和`getY()`),开发者可以跟踪手指在屏幕上的移动,实现拖动、滑动等操作。例如,可以检测用户是否在做水平滑动,这在滚动视图或翻页时非常...
- 在处理触摸事件时,`MotionEvent`的`getX()`和`getY()`返回的是相对于View本身的坐标,`getRawX()`和`getRawY()`则是相对于屏幕的绝对坐标。 总结来说,选择哪种滑动方法取决于具体需求。scollTo和scrollBy适合...