自定义控件(视图)1期笔记02:View的绘制流程
1. 引言:
来自源码的3个方法:
(1)public final void measure():测量,用来控制控件的大小,final不建议覆写
(2)public void layout():布局,用来控制控件摆放的位置
(3)draw():绘制,用来控制控件的样式
Draw()方法逻辑步骤:
- Draw the background :绘制背景
- If necessary,save the canvas’ layers to prepare for fading
- Draw view’s content :交给子View的onDraw方法
- Draw children:绘制子View,调用dispatchDraw(Canvas canvas)方法,dispatchDraw方法本身没有实现,交给ViewGroup去实现。
ViewGroup怎么实现的呢?在方法内部获取每个子View,然后让每个子View去实现onDraw方法。
- If necessary,draw the fading edges and restore layers
- Draw decorations(scrollbars for instance)
2. View的绘制流程:
参考网友的博客:
http://blog.csdn.net/xyz_lmn/article/details/20385049
http://www.2cto.com/kf/201504/387625.html
还有可以参看《Android开发艺术探索》 P183 ~ P199