自定义主要实现onMeasure(),onLayout(),onDraw();
ViewGroup 容器,
- MeasureSpec.getMode(heightMeasureSpec);
- MeasureSpec.getSize(widthMeasureSpec);
重写onMeasure获得设置的width,height模式及大小,measureChildren(widthMeasureSpec, heightMeasureSpec);计算子视图的宽和高,childView.getMeasuredWidth();
childView.getLayoutParams();根据模式得到容器的宽高,设置setMeasuredDimension()
onLayout()中对子视图进行布局childview.layout();
onDraw()中进通过Canvas写文本、绘图等
View:
重写onMeasure主要根据模式及大小,设置setMeasuredDimension();
onDraw()绘制图形,调用invalicate()会在UI线程重绘视图
/
收藏一些好的文章:
http://blog.csdn.net/harvic880925/article/details/50995268