Android 坐标

left top right bottom

  android view 的left top right bottom 是相对parent view的空间数据

参考:http://stackoverflow.com/questions/22589322/what-does-top-left-right-and-bottom-mean-in-android-rect-object

View XY API

  View 中存在一些描述自己位置的API如:

    getX()           ---> 获取相对与父View的左上角偏移

    getY()           --->获取相对与父View的左上角偏移

    getLocationOnScreen()  ---> 获得相对与屏幕原点的偏移

    getLocationInWindow()  ---> 获取相对与当前Window的偏移

View Rect API

  View 中存在一些描述它自己占用的空间的API

    getLocalVisibleRect()    ----> 返回当前View占用的可见区域大小

    getGlobalVisibleRect()   ---> 获取当前整个ViewTree可见区域的大小

Window API

  getWindow().getDecorView().getWindowVisibleDisplayFrame(frame) -----> 获取整个屏幕的坐标,其中有效部分是App的主体内容,包含标题栏

  getWindowManager().getDefaultDisplay() ----> 获取物理屏幕的大小

View mScrollX mScrollY

  

  View的 mScrollX 和 mScrollY 是相对于View的坐标原点偏移量

MotionEvent

  在View中,如果实现了

    public booleanonTouchEvent(MotionEvent event);   

  接口,那么会来自触摸事件,因为不同的事件在MotionEvent中有不同的id,我们可以根据event.getAction() & MotionEvent.ACTION_MASK的结果来判断是何种事件。

  事件说明

  • MotionEvent.ACTION_DOWN:在第一个点被按下时触发
  • MotionEvent.ACTION_UP:当屏幕上唯一的点被放开时触发
  • MotionEvent.ACTION_POINTER_DOWN:当屏幕上已经有一个点被按住,此时再按下其他点时触发。
  • MotionEvent.ACTION_POINTER_UP:当屏幕上有多个点被按住,松开其中一个点时触发(即非最后一个点被放开时)。
  • MotionEvent.ACTION_MOVE:当有点在屏幕上移动时触发。值得注意的是,由于它的灵敏度很高,而我们的手指又不可能完全静止(即使我们感觉不到移动,但其实我们的手指也在不停地抖动),所以实际的情况是,基本上只要有点在屏幕上,此事件就会一直不停地被触发

  坐标说明:

    

更多相关文章

  1. Android(安卓)从网上获取网页代码(未解析)
  2. Android使用GPS定位
  3. android之seekBar
  4. Android(安卓)动态获取资源ID
  5. Android(安卓)崩溃日志的获取方式
  6. Android(安卓)获取已经安装的程序
  7. android常用代码
  8. Android获取文件的MD5值
  9. 获取android build-tools/platform-tools

随机推荐

  1. Android SQLite 数据库存储
  2. [置顶] Android 上如何移植live555生成库
  3. 使用java获取未来7天天气信息,可用于andro
  4. Android Material Design 使用TabLayout
  5. Android:overridePendingTransition()函
  6. Android 嵌套滑动机制(NestedScrolling)
  7. Android 图片选择器 PictureSelector
  8. 系出名门Android(7) - 控件(View)之ZoomC
  9. Android刷Recovery
  10. Android倒计时功能的实现(CountDownTimer