View 视图树结构
Activity --> PhoneWindow --> DecorView
重要类:
LayoutParams : 布局参数,子View通过LayoutParams告诉父容器(ViewGroup)应该如何放置自己。
MeasureSpec:父容器对 view 的布局上的限制;
View ViewGroup 关系图:
自定义ViewGroup 关键是要重写 onMeasure onLayout 方法:
onMeasure 测量过程一般先测量子View,再测量自己;
测量子View:
测量子View需要的WidthMeasureSpec:widthMeasureSpec 、paddingLeft + paddingRight 自己需要的尺寸;width 子view尺寸、
int childWidthMeasureSpec = getChildMeasureSpec(widthMeasureSpec, paddingLeft + paddingRight , width);
int childHeightMeasureSpec = getChildMeasureSpec(heightMeasureSpec, paddingTop + p