View视图结构
对于多View的视图,结构是树形结构:最顶层是ViewGroup
ViewGroup下可能有多个ViewGroup或View,如下图:
图一Android坐标系
Android的坐标系定义为:
屏幕的左上角为坐标原点
向右为x轴增大方向
向下为y轴增大方向
具体如下图:
图二View位置(坐标)描述
Top:子View左上角距父View顶部的距离;
Left:子View左上角距父View左侧的距离;
Bottom:子View右下角距父View顶部的距离
Right:子View右下角距父View左侧的距离
图三MotionEvent中 get()和getRaw()的区别
触摸点相对于其所在组件坐标系的坐标 --- event.getX(); event.getY();
触摸点相对于屏幕默认坐标系的坐标 ---- event.getRawX(); event.getRawY();
图四角度(angle)& 弧度(radian)
角度和弧度都是描述角的一种度量单位,区别和联系如下图:
图5注:在默认的屏幕坐标系中角度增大方向为顺时针。
MeasureSpec类
测量规格(MeasureSpec) = 测量模式(mode) + 测量大小(size)
其中,测量模式(Mode)的类型有3种:UNSPECIFIED、EXACTLY 和
AT_MOST。具体如下:
图7Canvas类
1、内容实际上是绘制在屏幕上;
2、画布,即Canvas,只是规定了绘制内容时的规则;
3、内容的位置由坐标决定,而坐标是相对于画布而言的
实例情况:先画一个矩形(蓝色);然后移动画布;再画一个矩形(红色)
效果图具体流程分析
在此感谢Carson_Ho大神提供的学习资料
网友评论