View 的简介

View是Android一切控件的基类,接下来学习网上的一张图片让大家一望而知(图片出自:blog.51cto.com/wangzhaoli/…

带你玩转自定义view系列--Android 的相关坐标系

image

Android 的相关坐标系

图片内容有点多,自定义 View 做得好事可以提升用户对 APP 的体验感的。接下来就学习一下 Android 的相关坐标系。

Android 坐标系

在物理中,要描绘一个物体的运动,就必须选定一个参考系。所谓滑动,正式相对于参考系的运动。在Android中,将屏幕最左上角的顶点作为Android坐标系的原点,从原点向右是X轴正方向,从原点向下是Y轴正方向:

带你玩转自定义view系列--Android 的相关坐标系

image

体系供给了 getLocationOnScreen(intLocation[]) 这样的办法来获取 Android 坐标中点的方位,即该视图左上角在 Android 坐标系中的坐标。别的,在触控事情中运用 getRawX() 和 getRawY() 办法所获取的坐标同样是 Android 坐标系中的坐标。

视图坐标

Android 中除了上面所说的这种坐标系之外,还有一个视图坐标系,他描绘了子视图在父视图中的方位关系。这两种坐标系并不矛盾也不复杂,他们的作用是相得益彰的。

与 Android 坐标系相似,视图坐标系同样是以原点向右为X轴正方向,以原点向下为Y轴正方向。

只不过在视图坐标系中,原点不再是 Android 坐标系中的屏幕左上角,而是以父视图左上角为坐标原点。

带你玩转自定义view系列--Android 的相关坐标系

image

在触控事情中,通过 getX() 和 getY() 所取得的坐标就是视图坐标中的坐标。

在 Android 中,体系供给了十分多的办法来获取坐标值、相对间隔等。办法多是好,可是不方便初学者学习,不知道什么情况下运用。下面就总结了一些 API,结合 Android 坐标系来看看该如何运用它们。

带你玩转自定义view系列--Android 的相关坐标系

image

这些办法可以分成如下两个类别:

View供给的获取坐标办法: **getTop(): **获取到的是View本身的顶边到其父布局顶边的间隔 **getLeft(): **获取到的是View本身的左面到其父布局左面的间隔 **getRight(): **获取到的是View本身的右边到其父布局左面的间隔 **getBottom(): **获取到的是View本身的底边到其父布局顶边的间隔

别的View获取本身宽高

**getHeight(): **获取View本身高度 **getWidth(): **获取View本身宽度 MotionEvent供给的办法: **getX(): **获取点击事情间隔控件左面的间隔,即视图坐标 **getY(): **获取点击事情间隔控件东边的间隔,即视图坐标 **getRawX(): **获取点击事情间隔整个屏幕左面的间隔,即绝对坐标 **getRawY(): **获取点击事情间隔整个屏幕顶边的间隔,即绝对坐标

以上就是简略的 Android 坐标和 View 的视图坐标。