这是我参与8月更文挑战的第15天,活动详情查看:8月更文挑战
AndroidView体系是界面的核心,在这个系列中我分为多个章节陆续讲到 View坐标系、View的滑动机制、View的事件分发机制 、View的绘制流程 等等 来介绍Android View体系。 我们从最基础的坐标系开始!
1.View介绍
View是Android所有控件的基类,而且ViewGroup也是继承View的,下站图可以让大家更加直观的让大家了解View的体系.
2.坐标系
Android中分为两种Android坐标系和视图坐标系
(-) Android坐标系
Android坐标系还是比较简单的, 将屏幕的左上角的顶点作为Android坐标系的原点,这个原点向右是X轴正方向,原点向下是Y轴正方向。
还是看图比较直观:(虽然是我百度的哈哈)
在MotionEvent中的getRawX()和getRawY()获取的坐标都是Android坐标系的坐标。
(二)视图坐标系
顾名思义 Android的屏幕是有限的 ,有时候view会很大,我们通过屏幕能看到的View大小称为视图,
我们还是直接看图吧!
View自身坐标
如下方法可以获得View到其父控件(ViewGroup)的距离:
getTop():获取View自身顶边到其父布局顶边的距离
getLeft():获取View自身左边到其父布局左边的距离
getRight():获取View自身右边到其父布局左边的距离
getBottom():获取View自身底边到其父布局顶边的距离
MotionEvent提供的方法
getX():获取点击事件距离控件左边的距离,即视图坐标
getY():获取点击事件距离控件顶边的距离,即视图坐标
getRawX():获取点击事件距离整个屏幕左边距离,即绝对坐标
getRawY():获取点击事件距离整个屏幕顶边的的距离,即绝对坐标