自定义View之非常基础篇

周末在练习自定义view控件的时候发现会在android View基础知识上面犯错,出现对基础知识点记忆不清晰的情况

翻翻大神们的博客和任大神的那本android艺术开发探索,然后整理在这里做下记录。

android的坐标系

不同于数学上的坐标系,屏幕坐标系向右为X轴的增大方向,向下为Y轴的增大方向

自定义View之非常基础篇_第1张图片
屏幕坐标系图解

对于View的基本位置参数,View的位置参数是相对于父控件而言的.

getTop(); //获取子View左上角距父View顶部的距离

getLeft(); //获取子View左上角距父View左侧的距离

getBottom(); //获取子View右下角距父View顶部的距离

getRight(); //获取子View右下角距父View左侧的距离

自定义View之非常基础篇_第2张图片
View参数图解

另外:
对于View自身的宽高

width = right – left

height = bottom – top

3.0之后,View增加了参数:x, y,translationX, translationY,其中x和y是View左上角的坐标,而translationX和translationY是View左上角相对于父容器的偏移量。

X = left + translationX;

Y =top+ translationY;

View在平移的过程中,top和left表示的是原始左上角的位置信息,他们的值不会发生改变,而x,y, translationX,translationY的值会随着变化。

角度和弧度的概念

在数学中

定义:

角度:两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆周长的360分之一时,两条射线的夹角的大小为1度.

弧度:两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆的半径时,两条射线的夹角大小为1弧度.

换算:

圆一周对应的角度为360度(角度),对应的弧度为2π弧度。

故得等价关系:360(角度) = 2π(弧度) ==> 180(角度) = π(弧度)

在android的坐标体系中这些都是适用的,但是需要注意的地方是

在常见的数学坐标系中角度增大方向为逆时针,

在默认的屏幕坐标系中角度增大方向为顺时针。

自定义View之非常基础篇_第3张图片
角度增大方向图解

你可能感兴趣的:(自定义View之非常基础篇)