自定义ViewGroup须知:
1.必须复写onMeasure和onLayout方法,根据容器的特性进行布局设计
2.复写onMeasure方法必须处理父布局设置宽或高为wrap_content情况下,实际测量子View的宽高
3.要得到子View的margin的值,要在自定义ViewGroup中复写generMarinLayoutParam的四个方法
4.onLayout方法中设置的是子View的相对位置,控制两个参数:childLeft和childTop即可实现布局
5.在布局中使用Gravity时要根据宽高进行换算 :
宽度:parentPaddingleft + childLeft + childMarginLeft + childWidth+ childMaringRight+....+parentPaddingRight
高度:parentPaddingTop +childTop + childMarginTop +childHeight+childMarginBottom+.....parentPaddingBottom
以上宽高位置变更childLeft和childTop
6.onMeasure设定是总控件宽高,onLayout设置的是子View位置