
除了这个系统坐标系之外,还有一个视图坐标系。与系统坐标系类似,以也是以原点向下为y轴的正方向,以原点向右为x轴的正方向。只不过,这个坐标原点是父控件左上角。如图所示:

我们了解了坐标系,下面我们就了解触摸事件——MotionEvent。
别小看这个MotionEvent事件,在与用户进行交互的过程中,这个东东必不可少。首先,看他封装那些常量代表不同的事件类型,如下所示:
//单点触摸属性按下事件public static final int ACTION_DOWN = 0;//单点触摸属性抬起事件public static final int ACTION_UP= 1;//触摸点移动的事件public static final int ACTION_MOVE = 2;//触摸动作取消public static final int ACTION_CANCEL= 3;//触摸越界事件public static final int ACTION_OUTSIDE = 4;//多点触摸按下事件public static final int ACTION_POINTER_DOWN = 5;//多点触摸抬起事件public static final int ACTION_POINTER_UP= 6;通常情况下,我们会用这样的模板方法,来监听OnTouchEvent(MotionEvent ev)方法,然后使用switch-case方法进行判断处理,这些都是固定格式,代码如下:
switch (event.getAction()){ //触摸按下事件case MotionEvent.ACTION_DOWN:break;//触摸移动状态case MotionEvent.ACTION_MOVE:break;//触摸抬起状态case MotionEvent.ACTION_UP:break;} 一般情况,不涉及到多点触控的操作,一般用这个代码的模板都能够完成相应事件的监听。 
各种方法解释:
getLeft()——获取view自身左边到其父控件左边距离。
getRight()——获取view自身右边到其父控件左边距离。
getTop()——获取view自身上边到其父控件上边距离。
getBottom()——获取view自身下边到其父控件上边距离。
getX()——获取点击事件距离控件左边的距离,即视图坐标。
getY()——获取点击事件距离控件上边的距离,即视图坐标。
getRawX()——获取点击事件距离控件屏幕左边的距离,即绝对坐标。
getRawY()——获取点击事件距离屏幕上边的距离,即绝对坐标。
这就是对滑动效果产生知识补充。
以上就是本文的全部内容,希望对大家的学习有所帮助。