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

getX()是表示Widget相对于自身左上角的x坐标,而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一样的道理如果你的某个Activity中实现OnTouchListener接口,需要重写

onTouch(View view,MotionEvent event)

这个方法,
getRawX()和getRawY()获得的是相对屏幕的位置,getX()和getY()获得的永远是view的触摸位置坐标
(这两个值不会超过view的长度和宽度)。

如果重写Activity的

onTouchEvent(MotionEvent event)

,这个时候获得的是屏幕点击位置的坐标。event.getX() 与 event.getRawX()获取的值是一样的,event.getY() 与 event.getRawY()获取的值是一样,还能获取触摸标题栏时的坐标位置,但是触摸状态栏时的坐标位置不能获得。
(注:Activity上有两段宽度:一个是状态栏,一个是标题栏,每一个宽度都占了25像素)

时间: 2024-10-21 01:50:54

MotionEvent的getX(),getY()与getRawX(),getRawY()区别的相关文章

Android MotionEvent getX() getY() getRawX() getRawY() and View getTop() getLeft()

getRowX:触摸点相对于屏幕的坐标getX: 触摸点相对于按钮的坐标getTop: 按钮左上角相对于父view(LinerLayout)的y坐标getLeft: 按钮左上角相对于父view(LinerLayout)的x坐标getRight():等同于下面的计算:getLeft()+getWidth(). 当你触到按钮时,x,y是相对于该按钮左上点的相对位置.而rawx,rawy始终是相对于屏幕的位置getX()和getY()获得的永远是view的触摸位置坐标(这两个值不会超过view的长度和

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

http://blog.csdn.net/ztp800201/article/details/17218067 public class Res extends Activity implements View.OnTouchListener { Button btn = null; int x = 0; int y = 0; int rawx = 0; int rawy = 0; @Override public void onCreate(Bundle savedInstanceState)

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

当你触到按钮时,x,y是相对于该按钮左上点(控件本身)的相对位置.而rawx,rawy始终是相对于屏幕的位置. 可知: getRowX:触摸点相对于屏幕的坐标getX: 触摸点相对于按钮的坐标getTop: 按钮左上角相对于父view(LinerLayout)的y坐标getLeft: 按钮左上角相对于父view(LinerLayout)的x坐标 可以想象 getRight()等同于下面的计算:getLeft()+getWidth(). getX()是表示Widget相对于自身左上角的x坐标,而g

android view之getLeft(),getRight(),getTop(),getBottom(),getX(),getY(),getRawX(),getRawY(),getTranslationX(),getTranslationY()记录

自定义view时使经常使用到的view距离及坐标记录 如下 第一:view中一般用于获取view宽高 getLeft()        view本身左侧   距离父布局左侧   的距离 getRight()      view本身右侧   距离父布局左边侧  的距离 getTop()         view本身顶部   距离父布局顶部    的距离 getBottom()    view本身底部   距离父布局顶部   的距离 View的  Height = view.getBottom()

Android中View的getX,getY...

Android坐标系的理解直接关系到后面你Android进阶部分的学习,如果没有夯实的基础,你自定义View时就会有种欲求不满,欲罢不能——想搞懂却又觉得难,想放弃又觉得舍不得. Android中的坐标系以及获取坐标的方法 Android中有两种坐标系,分别称之为Android坐标系和视图坐标系.而对应的也有一些相关的方法可以获取坐标系中的坐标值.只有搞清楚这些区别,才能在实现的时候不至于出错或者得不到你想要的效果. 一.Android坐标系和视图坐标系 (1)Android坐标系 先来看一看A

Android View系列一: View基础知识

1.什么是View View是Android中所有控件的基类,是一种界面层的控件的一种抽象,它代表了一个控件,除了View,还有ViewGroup(控件组),ViewGroup内部包含了许多控件,即一组View.ViewGroup继承View. 2.View的位置参数 View的位置由四个顶点决定:top left right bottom top:是左上角纵坐标. left:是左上角横坐标. right:是右下角横坐标. bottom:是右下角纵坐标. 这些坐标都是相对于View的父容器来说的

Android之MotionEvent学习

 getAction()方法返回的是int类型,用到的只有低16位(0x0000),其中:低八位是动作的类型,高8位是触摸点索引值的表示 1.如果mAction的值是0x0000,则表示是第一个触控点的ACTION_DOWN操作. 如果mAction的值是0x0100,则表示是第二个触控点的ACTION_DOWN操作. 第三个的ACTION_DOWN呢?相信你可以推出来是0x0200. 总而言之,mAction时的低8位(也就是0-7位)是动作类型信息. mAction的8-15位呢,是触控

Android艺术开发探索第三章——View的事件体系(上)

Android艺术开发探索第三章----View的事件体系(上) 我们继续来看这本书,因为有点长,所以又分了上下,你在本片中将学习到 View基础知识 什么是View View的位置参数 MotionEvent和TouchSlop VelocityTracker,GestureDetector和Scroller View的滑动 使用scrollTo/scrollBy 使用动画 改变布局参数 各种滑动方式的对比 弹性滑动 使用Scroller 通过动画' 使用延时策略 这章的概念偏自定义View方

View的基本概念了解

View方面的东西,乍一眼看去,我真是满脸懵比,雾里看花般难受. View是所有控件的基类,是一种界面层控件的抽象,代表着一个控件.连ViewGroup都是其子类.而ViewGroup可以直译为控件组,可以包含多个View. 一个View既可以表示一个控件,也可以是多个控件组成的一组控件. 一,View的基础知识 1.1 View的位置参数 一个矩形有四个点,而决定View的位置同样有四个点,分别是left,top,right,bottom. 其中left表示View的左上角距离左边的距离,to