自定义控件(视图)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

posted on 2015-10-14 18:30  鸿钧老祖  阅读(202)  评论(0编辑  收藏  举报

导航