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