一、自定义View
1.onMeasure(int widthMeasureSpec,int heightMeasureSpec)
int wSpecMode = MeasureSpec.getMode(widthMeasureSpec);
int wSpecSize = MeasureSpec.getSize(widthMeasureSpec);
int hSpecMode = MeasureSpec.getMode(heightMeasureSpec);
int hSpecSize = MeasureSpec.getSize(heightMeasureSpec);
setMeasuredDimension(int ,int);
widthMeasureSpec,heightMeasureSpec:它们指明控件可获得的空间以及关于这个空间描述的元数据。
ps:详细测量值( measureSpec )
2.onSizeChanged(int w,int h,int oldw,int oldh)
在当前View尺寸变化时被调用。
3.onDraw(Canvas canvas)
canvas:画布。
二、自定义ViewGroup
1.onMeasure(int widthMeasureSpec,int heightMeasureSpec)
2.onSizeChanged(int w,int h,int oldw,int oldh)
3.onLayout(boolean changed, int left, int top, int right, int bottom)
必须重写onLayout()方法,排列子View,而自定义View没有子View。
通过该方法确定子View在父View中的位置。
4.onDraw(Canvas canvas)