当我们在自定义View,或者处理一些滑动/触摸事件时,就需要计算距离操作了,而系统也提供了各种方法来满足我们不同的需求,有些东西你不用就很容易忘记,现在整理下,方便后面查找。希望对大家有帮助,如有谬误,欢迎批评指正,如有疑问欢迎留言。
-图片直观的认识
先用图片表示了直观的表现下这几个距离的意义,原图片出自这里
-getX、getRawX、getWidth、getTranslationX意义的文字描述
event.getX()://表示的是触摸的点距离自身左边界的距离
event.getY()://表示的是触摸的点距离自身上边界的距离
event.getRawX://表示的是触摸点距离屏幕左边界的距离
event.getRawY://表示的是触摸点距离屏幕上边界的距离
View.getWidth()://表示的是当前控件的宽度,即getRight()-getLeft()
View.getHeight()://表示的是当前控件的高度,即getBottom()-getTop()
View.getTop()://子View的顶部到父View顶部的距离
View.getRight()://子View的右边界到父View的左边界的距离
View.getBottom()://子View的底部到父View的顶部的距离
View.getLeft()://子View的左边界到父View的左边界的距离
View.getTranslationX()//计算的是该View在X轴的偏移量。初始值为0,向左偏移值为负,向右偏移值为正。
View.getTranslationY()//计算的是该View在Y轴的偏移量。初始值为0,向上偏移为负,向下偏移为证。