首先理清View和ViewGroup之间的关系:
如图所示:
ViewGroup是装载View的容器
View类是所有View或者ViewGroup的顶级父类
重新View一般要继承View重写方法:
onDraw(Canvas canvas)在画布上绘制你View的样子
重写ViewGroup一般要继承ViewGroup重写方法:
测量ViewGroup的大小和设置ViewGroup和子View的大小:onMeasure(int widthMeasureSpec, int heightMeasureSpec)
设置子View的位置:onLayout(boolean changed, int l, int t, int r, int b)
如果你想或者控件的大小,你在初始化的时候获取宽和高都为零你应该在onSizeChanged这个方法中获取宽高
View的生命周期