Android MotionEvent中getX()和getRawX()的区别实例详解
Android MotionEvent 中 getX() 和 getRawX() 的区别实例详解 Android 中的 MotionEvent 是一个重要的事件处理机制,它提供了许多有用的方法来获取触摸事件的信息。其中,getX() 和 getRawX() 是两个常用的方法,它们都可以获取触摸点的坐标,但是它们之间存在着重要的区别。 getX() 方法是获取相对于当前控件的坐标,即相对于当前 Widget 左上角的 x 坐标。而 getRawX() 方法是获取相对于屏幕的坐标,即相对于屏幕左上角的 x 坐标。这个区别非常重要,因为在实际开发中,我们需要根据不同的场景选择合适的方法来获取坐标。 在上面的示例代码中,我们可以看到,getX() 方法获取的是相对于按钮的坐标,而 getRawX() 方法获取的是相对于屏幕的坐标。当我们触摸按钮时,getX() 方法返回的是相对于按钮左上角的坐标,而 getRawX() 方法返回的是相对于屏幕左上角的坐标。 在实际开发中,如果我们需要获取相对于当前控件的坐标,可以使用 getX() 方法;如果我们需要获取相对于屏幕的坐标,可以使用 getRawX() 方法。例如,在游戏开发中,我们可能需要根据触摸点的屏幕坐标来确定游戏对象的位置,这时我们可以使用 getRawX() 方法。 此外,Android 还提供了一些其他的方法来获取坐标,例如 getTop()、getLeft()、getRight() 等。这些方法都可以获取控件的坐标,但是它们之间也存在着重要的区别。例如,getTop() 方法获取的是控件左上角相对于父视图的 y 坐标,而 getLeft() 方法获取的是控件左上角相对于父视图的 x 坐标。 getX() 和 getRawX() 方法都是重要的坐标获取方法,它们之间的区别非常重要。在实际开发中,我们需要根据不同的场景选择合适的方法来获取坐标,以确保我们的应用程序能够正确地获取触摸事件的信息。 知识点: * getX() 方法获取的是相对于当前控件的坐标 * getRawX() 方法获取的是相对于屏幕的坐标 * getX() 方法返回的是相对于控件左上角的坐标 * getRawX() 方法返回的是相对于屏幕左上角的坐标 * 在实际开发中,需要根据不同的场景选择合适的方法来获取坐标 * getTop() 方法获取的是控件左上角相对于父视图的 y 坐标 * getLeft() 方法获取的是控件左上角相对于父视图的 x 坐标
- 粉丝: 4
- 资源: 963
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助