当你触到按钮时,x,y是相对于该按钮左上点(控件本身)的相对位置。
而rawx,rawy始终是相对于屏幕的位置。
可知:
getRowX:触摸点相对于屏幕的坐标
getX: 触摸点相对于按钮的坐标
getTop: 按钮左上角相对于父view(LinerLayout)的y坐标
getLeft: 按钮左上角相对于父view(LinerLayout)的x坐标
可以想象getRight()等同于下面的计算:getLeft()+getWidth()。
getX()是表示Widget相对于自身左上角的x坐标,而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一样的道理。
相关推荐
Android MotionEvent 中 getX() 和 getRawX() 的区别实例详解 Android 中的 MotionEvent 是一个重要的事件处理机制,它提供了许多有用的方法来获取触摸事件的信息。其中,getX() 和 getRawX() 是两个常用的方法,...
一个用例MotionEvent.getX()/getRawX/getScrollY()/childView.scrollBy((int) DX, (int) 0),博客地址:https://blog.csdn.net/dreams_deng/article/details/105274141
Android MotionEvent中getX()与getRawX()都是获取屏幕坐标(横),但二者又有区别 getX() : 是获取相对当前控件(View)的坐标 getRawX() : 是获取相对显示屏幕左上角的坐标
1.Android移动方式 1. 使用scrollTo/scrollBy 只能影响View的内容移动,并不能改变View本身的位置 2. setX , setY: 设置控件相对于父控件位置 3. 动画 2. Api 综合理解: getRawX: 获取当前控件相对于屏幕原点...
本篇文章将深入探讨在Android中如何通过MotionEvent获取屏幕坐标的方法,特别是`getX()`和`getRawX()`的区别。 `getX()`方法用于获取手指触摸点相对于当前处理事件的View的X坐标。这意味着,如果用户在一个按钮...
这个压缩包文件`android_view_MotionEvent.rar_float`的焦点在于`float`类型的数据,这通常涉及到Android中的坐标和压力等触摸事件的参数。在Android应用开发中,理解和掌握`MotionEvent`的用法对于创建与用户交互的...
因此,我们需要将屏幕坐标转换为相对布局的坐标,使用`View.getLocationOnScreen()`和`View.getX()`、`View.getY()`方法获取原始位置,`MotionEvent.getRawX()`和`MotionEvent.getRawY()`获取手指的当前位置。...
因此,我们需要使用`View.getX()`和`View.getY()`获取视图的当前位置,然后使用`MotionEvent.getRawX()`和`MotionEvent.getRawY()`获取手指在屏幕上的位置,再减去视图左上角相对于屏幕的位置,得到相对于视图的坐标...
例如,当用户触摸屏幕时,可以使用`getX()` 和 `getY()` 获取触点相对于当前View的位置,`getRawX()` 和 `getRawY()` 则提供触点相对于屏幕的全局位置。 4. 自定义控件与坐标系 自定义View时,理解坐标系至关重要...
此外,`MotionEvent`对象提供了丰富的信息,如事件类型(ACTION_DOWN、ACTION_UP等)、坐标(`getRawX()`、`getRawY()`、`getX()`、`getY()`)以及压力、倾斜度等,这些信息可以用于实现更精细的手势识别,如双击、...
- **相对坐标**:`MotionEvent`对象提供了触摸事件的坐标信息,`getX()`和`getY()`返回的是事件相对于当前View的位置,而`getRawX()`和`getRawY()`则是相对于整个屏幕的坐标。 3. **触摸事件处理** 当用户在屏幕...
可以使用`View.getX()`和`View.getY()`方法获取View的左上角位置,然后用`event.getRawX()`和`event.getRawY()`获取原始触摸坐标,进行相减得到相对坐标。 6. 动画效果: 为了使轨迹曲线更流畅,可以添加平滑动画...
MotionEvent是Android中表示触控事件的对象,包含了ACTION_DOWN(手指按下)、ACTION_MOVE(手指移动)和ACTION_UP(手指抬起)等主要动作。开发者可以通过getRawX和getRawY获取事件相对于屏幕的坐标,而getX和getY...
为了实现悬浮窗的移动、拖拽功能,你需要监听触摸事件,并在`MotionEvent`中更新`LayoutParams`的`x`和`y`值: ```java floatView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean ...
"Android 坐标系与视图坐标系图解分析" Android 坐标系是指 Android 中的屏幕坐标系,原点位于屏幕的...8. Android 中的坐标系转换:可以通过 getLocationOnScreen() 方法和 getX()、getY() 方法来实现坐标系的转换。
本文不仅介绍了Android中的几种基本布局类型,还通过一个具体的示例——拖动效果的实现,展示了如何利用这些布局和View组件来创建动态用户界面。通过这种方式,开发者可以更好地理解和掌握Android应用开发的核心概念...
Android中View位置和触摸事件详解 在 Android 开发中,View 的位置和触摸事件是非常重要的概念,对于理解 Android 中的控件布局和事件处理非常关键。下面将对 View 的位置参数和触摸事件进行详细的介绍。 一、View...
### Android 获取屏幕、状态栏、标题栏宽高详解 ...以上就是关于Android中获取屏幕、状态栏、标题栏宽高以及视图位置的一些常用技巧。掌握这些知识点可以帮助开发者更好地控制应用界面,实现更加灵活多变的设计方案。