`
pansong291PS
  • 浏览: 603 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

android MotionEvent中getX()和getRawX()的区别

阅读更多

当你触到按钮时,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() 的区别实例详解 Android 中的 MotionEvent 是一个重要的事件处理机制,它提供了许多有用的方法来获取触摸事件的信息。其中,getX() 和 getRawX() 是两个常用的方法,...

    一个用例MotionEvent.getX()/getRawX/getScrollY()/childView.scrollBy((int) DX, (int) 0

    一个用例MotionEvent.getX()/getRawX/getScrollY()/childView.scrollBy((int) DX, (int) 0),博客地址:https://blog.csdn.net/dreams_deng/article/details/105274141

    Android MotionEvent 坐标获取

    Android MotionEvent中getX()与getRawX()都是获取屏幕坐标(横),但二者又有区别 getX() : 是获取相对当前控件(View)的坐标 getRawX() : 是获取相对显示屏幕左上角的坐标

    一个用例理解MotionEvent.getX()/getRawX/getScrollY()/childView.scrollBy((int) DX, (int) 0)

    1.Android移动方式 1. 使用scrollTo/scrollBy  只能影响View的内容移动,并不能改变View本身的位置  2. setX , setY: 设置控件相对于父控件位置 3. 动画 2. Api 综合理解: getRawX: 获取当前控件相对于屏幕原点...

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

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

    android_view_MotionEvent.rar_float

    这个压缩包文件`android_view_MotionEvent.rar_float`的焦点在于`float`类型的数据,这通常涉及到Android中的坐标和压力等触摸事件的参数。在Android应用开发中,理解和掌握`MotionEvent`的用法对于创建与用户交互的...

    Android随意拖动控件视图

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

    Android 图片任意移动效果

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

    Android应用 坐标系详细介绍

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

    简述Android触摸屏手势识别

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

    深入浅析Android坐标系统

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

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

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

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

    MotionEvent是Android中表示触控事件的对象,包含了ACTION_DOWN(手指按下)、ACTION_MOVE(手指移动)和ACTION_UP(手指抬起)等主要动作。开发者可以通过getRawX和getRawY获取事件相对于屏幕的坐标,而getX和getY...

    Android悬浮窗,悬浮图标

    为了实现悬浮窗的移动、拖拽功能,你需要监听触摸事件,并在`MotionEvent`中更新`LayoutParams`的`x`和`y`值: ```java floatView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean ...

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

    "Android 坐标系与视图坐标系图解分析" Android 坐标系是指 Android 中的屏幕坐标系,原点位于屏幕的...8. Android 中的坐标系转换:可以通过 getLocationOnScreen() 方法和 getX()、getY() 方法来实现坐标系的转换。

    android的拖动效果

    本文不仅介绍了Android中的几种基本布局类型,还通过一个具体的示例——拖动效果的实现,展示了如何利用这些布局和View组件来创建动态用户界面。通过这种方式,开发者可以更好地理解和掌握Android应用开发的核心概念...

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

    Android中View位置和触摸事件详解 在 Android 开发中,View 的位置和触摸事件是非常重要的概念,对于理解 Android 中的控件布局和事件处理非常关键。下面将对 View 的位置参数和触摸事件进行详细的介绍。 一、View...

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

    ### Android 获取屏幕、状态栏、标题栏宽高详解 ...以上就是关于Android中获取屏幕、状态栏、标题栏宽高以及视图位置的一些常用技巧。掌握这些知识点可以帮助开发者更好地控制应用界面,实现更加灵活多变的设计方案。

Global site tag (gtag.js) - Google Analytics