系统关于获得坐标值的各种方法(持续更新)

内容来源:Android 群英传

在自定义 View 中和处理事件冲突时总需要获得各种坐标值,记一帖以供学习。

系统关于获得坐标值的各种方法(持续更新)_第1张图片
我是图片

1.View 提供获取坐标的方法(见图)

getTop():获取到的是 View 自身的顶边到其父布局顶边的距离
getLeft() :获取到的是 View 自身的左边到其父布局左边的距离
getRight():获取到的是 View 自身的右边到其父布局左边的距离
getBottom():获取到的是 View 自身的底边到其父布局顶边的距离
getHeight():获取 View 在屏幕中的高度(pixels)
getWidth():获取 View 的屏幕中宽度(pixels)
getMeasureHeight():获取 View 的实际高度
getMeasureWidth():获取 View 的实际高度
*getScrollY():获取 View 的上下滑动距离( > 0)
*getScrollX():获取 View 的左右滑动距离( > 0)

getHeight() 和 getMeasureHeight()区别:

在 View 的显示全部在屏幕中时,两者相同,但是当 View 的显示超出屏幕时,getHeight() 为 View在屏幕中的高度,而 getMeasureHeight()为 View 的实际高度。
两者的关系为:
getMeasureHeight() = getHeight() + View 在屏幕外的高度
getWidth()getMeasureWidth()同理

2.MotionEvevt 提供的方法

getX():获取点击事件距离控件左边的距离,即视图坐标
getY():获取点击事件距离控件顶边的距离,即视图坐标
getRawX():获取点击事件距离整个屏幕左边的距离,即视图坐标
getRawY():获取点击事件距离整个屏幕顶边的距离,即视图坐标

你可能感兴趣的:(系统关于获得坐标值的各种方法(持续更新))