1. Android坐标系

Android坐标系如图,

Android23-视图坐标系以及MotionEvent事件_第1张图片 2017-05-03_13-47-30.png

系统提供了getLocationOnScreen(inlocation[])方法来来获取android坐标系中国年点的位置,另外,在触控事件中使用getRawX()、getRawY()方法所获得的坐标同样时Android坐标系中的坐标

2. 视图坐标系

视图坐标系描述了子视图在父视图中的位置关系,具体如图,在触控事件中,通过getX()、getY()所获得的坐标就是视图坐标系中的坐标。

Android23-视图坐标系以及MotionEvent事件_第2张图片 2017-05-03_13-48-11.png

3. 触控事件--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 event)方法中通过event.getAction()方法来获取触控事件的类型,并使用switch-case方法来进行筛选。大致模版如下:
int x = (int) event.getX();int y = (int) event.getY();switch(event.getAction()) {      case MotionEvent.ACTION_DOWN:          //处理输入按下的事件          break;      case MotionEvent.ACTION_MOVE:          //处理输入的移动事件          break;      case MotionEvent.ACTION_UP:          //处理输入的离开事件          break;}
  • 此外,安卓还提供了丰富的API来获取坐标值,相对距离等,具体如图:
Android23-视图坐标系以及MotionEvent事件_第3张图片 2017-05-03_14-01-42.png

这些方法可以分成如下两类:

  • View提供的获取坐标方法
  • getTop(): 获取view自身的顶部到其父布局顶部的距离;

  • getLeft():获取view自身左边到其父布局左边的距离;

  • getRight(): 获取view自身右边到其父布局左边的距离;

  • getBottom(): 获取view自身底部到其父布局顶部的距离;

  • MotionEvent提供的方法

  • getX(): 获取触摸点距离控件左边的距离,即视图坐标。

  • getY(): 获取触摸点距离控件定边的距离,即视图坐标。

  • getRawX: 获取触摸点距离屏幕左边的距离,即绝对坐标。

  • getRawY: 获取触摸点距离屏幕顶边的距离,即绝对坐标。

更多相关文章

  1. [Android]ButterKnife-无尽之刃-绑定视图控件和事件的快速开发工
  2. 如何获取Android RecyclerView滑动的距离
  3. Android 如何提前知道fling velocity的距离、时间 根据滑动距离
  4. Android UI系统控件进阶(四)—网格视图控件GridView
  5. Android View视图------Android如何创建一个view。
  6. Android 视图层级分析辅助工具详解
  7. Android开发笔记(一百二十二)循环器视图RecyclerView

随机推荐

  1. android dom4j sax 兼容问题
  2. 跟我学Android应用开发 之 Android中资源
  3. Android ndk 入门4 - C++实现
  4. android 中Drawable跟Bitmap转换及常用于
  5. Android显示网络图片相关实现方法浅谈
  6. android带消息红点的视图,超简洁的实现
  7. Android RecyclerView
  8. android度量相对于地球坐标系的加速度
  9. Android base64 上传图片
  10. Android Studio第六期 - 横向GridView