View(1) 坐标系

原文网站 向刘老师学习,所以摘抄了老师的笔记,只想作为自己的技术积累。

前言 

Android 通过各种各样的 View 组成用户操作界面,View是Android所有控件的基类,同时ViewGroup也是继承自View。它们呈现在四大组件中的 Activity 中。View 的使用关系到其在屏幕中的位置,大小,动画等等,那么在开始之前先了解主题 —— Android 坐标系 和 视图坐标系

Android 坐标系

在Android中,将屏幕的左上角的顶点作为Android坐标系的原点,这个原点向右是X轴正方向,原点向下是Y轴正方向。

Android 坐标系

视图坐标系

要了解视图坐标系我们只需要看懂一张图就可以了:

视图坐标系

常用方法

View 获取自身宽高

getHeight():获取View自身高度
getWidth():获取View自身宽度

View 自身坐标

通过如下方法可以获得View到其父控件(ViewGroup)的距离:
getTop():获取View自身顶边到其父布局顶边的距离
getLeft():获取View自身左边到其父布局左边的距离
getRight():获取View自身右边到其父布局左边的距离
getBottom():获取View自身底边到其父布局顶边的距离

MotionEvent提供的方法

上图那个深蓝色的点,假设就是我们触摸的点,无论是View还是ViewGroup,最终的点击事件都会由onTouchEvent(MotionEvent event)方法来处理,MotionEvent也提供了各种获取焦点坐标的方法:
getX():获取点击事件距离控件左边的距离,即视图坐标
getY():获取点击事件距离控件顶边的距离,即视图坐标
getRawX():获取点击事件距离整个屏幕左边距离,即绝对坐标
getRawY():获取点击事件距离整个屏幕顶边的的距离,即绝对坐标

你可能感兴趣的:(View(1) 坐标系)