自定义View之非常基础篇

作者: ac噜噜噜 | 来源:发表于2017-04-09 09:47 被阅读211次

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

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

    android的坐标系

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

    屏幕坐标系图解

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

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

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

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

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

    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之非常基础篇

        本文链接:https://www.haomeiwen.com/subject/uvnrattx.html