android 坐标系详解 (getTop、getLeft、getRawX......)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34900897/article/details/81669737

这是手动画的有点丑,将就可以看,这是不知道看第几次了,但是过一段时间就忘记了,好记性不如手动再记录一下加深印象。

Android 坐标系分三类

1、屏幕坐标系:以屏幕(0.0),X轴向右,y轴向下的方向

2.布局坐标系: 该坐标系是以 viewgroup 的左上角为坐标原点, 水平向右代表 x 方向的正方向, 垂直向下代表 y 方向的正方向, view 的坐标是在 layout 布局过程中做确定的. 也就是view在viewgroup中的位置

3.视图坐标系: 该坐标系是在 view 绘制过程中, 绘制的内容将该坐标系作为参考, 来绘制 view.也就是内容在view里面的位置

View 提供了如下 5 种方法获取 View 的坐标:

1. View.getTop()、View.getLeft()、View.getBottom()、View.getRight();
2. View.getX()、View.getY();
3. View.getTranslationX()、View.getTranslationY();//偏移量
4. View.getLocationOnScreen(int[] position);
5. View.getLocationInWindow(int[] position);

一、view当中的方法

求view的height、width

getTop():获取 view 本身顶部到父容器 ViewGroup 顶部的距离.
getBottom(): 获取 view 本身底部到父容器 ViewGroup 顶部的距离.
getLeft(): 获取 view 本身左侧到父容器 ViewGroup 左侧的距离.
getRight(): 获取 view 本身右侧到父容器 ViewGroup 左侧的距离.

以上方法得到的值都是 该view针对他所在父容器的坐标  (布局坐标系)
View的Height值 = view.getBottom() - view.getTop();
View的Width值 = view.getRight() - view.getLeft();

二、MotionEvent当中的方法

getY(): 获取点击事件相对控件左边的x轴坐标,即点击事件距离控件左边的距离
getY():获取点击事件相对控件顶边的y轴坐标,即点击事件距离控件顶边的距离
getRawX():获取点击事件相对整个屏幕左边的x轴坐标,即点击事件距离整个屏幕左边的距离
getRawY():获取点击事件相对整个屏幕顶边的y轴坐标,即点击事件距离整个屏幕顶边的距离

记住这里的东西,,使在view上面奠定基础

Android View坐标系详解

android view 坐标系

这是一个非常详细明了的自定义View基础 - 最易懂的自定义View原理系列(1)

猜你喜欢

转载自blog.csdn.net/qq_34900897/article/details/81669737